All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.entity.data.database.json Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$id": "https://open-metadata.org/schema/entity/data/database.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Database",
  "$comment": "@om-entity-type",
  "description": "This schema defines the Database entity. A database also referred to as Database Catalog is a collection of schemas.",
  "type": "object",
  "javaType": "org.openmetadata.schema.entity.data.Database",
  "javaInterfaces": ["org.openmetadata.schema.EntityInterface"],
  "definitions": {
  },
  "properties": {
    "id": {
      "description": "Unique identifier that identifies this database instance.",
      "$ref": "../../type/basic.json#/definitions/uuid"
    },
    "name": {
      "description": "Name that identifies the database.",
      "$ref": "../../type/basic.json#/definitions/entityName"
    },
    "fullyQualifiedName": {
      "description": "Name that uniquely identifies a database in the format 'ServiceName.DatabaseName'.",
      "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
    },
    "displayName": {
      "description": "Display Name that identifies this database.",
      "type": "string"
    },
    "description": {
      "description": "Description of the database instance.",
      "$ref": "../../type/basic.json#/definitions/markdown"
    },
    "dataProducts" : {
      "description": "List of data products this entity is part of.",
      "$ref" : "../../type/entityReferenceList.json"
    },
    "tags": {
      "description": "Tags for this Database.",
      "type": "array",
      "items": {
        "$ref": "../../type/tagLabel.json"
      },
      "default": []
    },
    "version": {
      "description": "Metadata version of the entity.",
      "$ref": "../../type/entityHistory.json#/definitions/entityVersion"
    },
    "updatedAt": {
      "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
      "$ref": "../../type/basic.json#/definitions/timestamp"
    },
    "updatedBy": {
      "description": "User who made the update.",
      "type": "string"
    },
    "href": {
      "description": "Link to the resource corresponding to this entity.",
      "$ref": "../../type/basic.json#/definitions/href"
    },
    "owners": {
      "description": "Owners of this database.",
      "$ref": "../../type/entityReferenceList.json"
    },
    "service": {
      "description": "Link to the database cluster/service where this database is hosted in.",
      "$ref": "../../type/entityReference.json"
    },
    "serviceType": {
      "description": "Service type where this database is hosted in.",
      "$ref": "../services/databaseService.json#/definitions/databaseServiceType"
    },
    "location": {
      "description": "Reference to the Location that contains this database.",
      "$ref": "../../type/entityReference.json"
    },
    "usageSummary": {
      "description": "Latest usage information for this database.",
      "$ref": "../../type/usageDetails.json",
      "default": null
    },
    "databaseSchemas": {
      "description": "References to schemas in the database.",
      "$ref": "../../type/entityReferenceList.json"
    },
    "changeDescription": {
      "description": "Change that lead to this version of the entity.",
      "$ref": "../../type/entityHistory.json#/definitions/changeDescription"
    },
    "default": {
      "description": "Some databases don't support a database/catalog in the hierarchy and use default database. For example, `MySql`. For such databases, set this flag to true to indicate that this is a default database.",
      "type": "boolean",
      "default": false
    },
    "deleted": {
      "description": "When `true` indicates the entity has been soft deleted.",
      "type": "boolean",
      "default": false
    },
    "retentionPeriod" : {
      "description": "Retention period of the data in the database. Period is expressed as duration in ISO 8601 format in UTC. Example - `P23DT23H`.",
      "$ref": "../../type/basic.json#/definitions/duration"
    },
    "extension": {
      "description": "Entity extension data with custom attributes added to the entity.",
      "$ref": "../../type/basic.json#/definitions/entityExtension"
    },
    "sourceUrl": {
      "description": "Source URL of database.",
      "$ref": "../../type/basic.json#/definitions/sourceUrl"
    },
    "domain": {
      "description": "Domain the Database belongs to. When not set, the Database inherits the domain from the database service it belongs to.",
      "$ref": "../../type/entityReference.json"
    },
    "votes": {
      "description": "Votes on the entity.",
      "$ref": "../../type/votes.json"
    },
    "lifeCycle": {
      "description": "Life Cycle properties of the entity",
      "$ref": "../../type/lifeCycle.json"
    },
    "certification": {
      "$ref": "../../type/assetCertification.json"
    },
    "sourceHash": {
      "description": "Source hash of the entity",
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "databaseProfilerConfig": {
      "type": "object",
      "javaType": "org.openmetadata.schema.type.DatabaseProfilerConfig",
      "description": "This schema defines the type for Database profile config.",
      "properties": {
        "profileSample": {
          "description": "Percentage of data or no. of rows we want to execute the profiler and tests on",
          "type": "number",
          "default": null
        },
        "profileSampleType": {
          "$ref": "./table.json#/definitions/profileSampleType"
        },
        "sampleDataCount": {
          "description": "Number of row of sample data to be generated",
          "type": "integer",
          "default": 50,
          "title": "Sample Data Rows Count"
        },
        "samplingMethodType": {
          "$ref": "./table.json#/definitions/samplingMethodType"
        },
        "sampleDataStorageConfig": {
          "title": "Storage Config for Sample Data",
          "$ref": "../services/connections/connectionBasicType.json#/definitions/sampleDataStorageConfig"
        }
      }
    }
  },
  "required": ["id", "name", "service"],
  "additionalProperties": false
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy