Wissen
Open Data Contract Standard (ODCS)
Der Open Data Contract Standard (ODCS) war früher als Data Contract Template bekannt, mit dem PayPal Datasets spezifizierte. Heute wird er von Bitol, einem Projekt der Linux Foundation AI & Data, gepflegt.
Wir sind Mitglied im Technical Steering Committee von Bitol und engagieren uns für die Unterstützung des ODCS-Standards in unseren Produkten.
Ab v3.0.0 unterstützt Entropy Data ODCS zur Definition von Data Contracts.
Details eines Data Contracts in Entropy Data
Beispiel eines Open Data Contract Standards
Beginnen wir mit einem Beispiel eines Data Contracts im ODCS-v3-Format:
apiVersion: v3.0.0
kind: DataContract
id: c176de03-8503-4859-bd0f-218cc413d958
name: Shipments
version: 1.0.0
domain: checkout
status: development
description:
purpose: This data can be used for analytical purposes
schema:
- name: my_table
physicalType: table
properties:
- name: shipment_id
description: Unique identifier for each shipment.
logicalType: string
logicalTypeOptions:
format: uuid
physicalType: uuid
primaryKey: true
examples:
- 03c35ea7-9a26-475f-a38a-0dad96f6de10
- name: order_id
description: Identifier for the order associated with the shipment.
logicalType: string
physicalType: text
required: true
unique: false
examples:
- ORD789012
- name: delivery_date
description: "The actual or expected delivery date of the shipment."
logicalType: date
physicalType: timestamp_tz
required: false
examples:
- "2024-09-05T17:00:00Z"
quality:
- type: text
description: Must be set, when status is "delivered".
- name: carrier
description: "The shipping carrier used for the delivery."
logicalType: string
physicalType: text
examples:
- DHL
- UPS
- name: tracking_number
description: Tracking number provided by the carrier.
logicalType: string
logicalTypeOptions:
minLength: 10
maxLength: 36
physicalType: text
classification: restricted
quality:
- rule: duplicateCount
mustBeLessThan: 1
unit: percent
examples:
- 1Z9999W99999999999
- name: status
description: "Current status of the shipment."
logicalType: string
physicalType: text
examples: ["pending", "shipped", "in_transit", "delivered", "returned", "canceled"]
quality:
- rule: rowCount
name: Verify row count range
mustBeBetween: [1000000, 5000000]
team:
- username: john.doe@example.com
role: Data Product Owner
servers:
- server: production
environment: production
type: bigquery
project: acme_shipments_prod
dataset: shipments_v1
roles:
- role: analyst_us_read
access: read
- role: analyst_eu_read
access: read
Wer mit dem v2-Format vertraut war, wird einige bedeutende Änderungen bemerken. Das ODCS-v3-Format ist flexibler und für ein breiteres Spektrum von Datenprodukten einsetzbar.
Inhalt
Dies sind die Bausteine eines ODCS-Data-Contracts:
Grundlagen
Allgemeine Angaben zum Data Contract wie ID, Name, Version, Owner und Beschreibung.
Schema
Das Schema spezifiziert die logische und optional auch die physische Darstellung des Datenmodells. Mit ODCS v3 werden auch komplexe Datenstrukturen (z. B. JSON- und AVRO-Modelle) unterstützt.
Datenqualität
Qualitätsgarantien lassen sich jetzt als Klartext, als SQL oder über eine gepflegte Bibliothek vordefinierter Qualitätsattribute wie rowCount, unique, freshness und weitere definieren.
Pricing
Der Preis, den Data Consumers für die Nutzung des Datenprodukts zahlen. Optional.
Server
Der physische Speicherort des Datensatzes, also der konkrete Host, die Datenbank und das Schema. Die meisten Technologien und Datenplattformen werden unterstützt. Mehrere Server für unterschiedliche Umgebungen oder Versionen eines Datenprodukts sind möglich.
Rollen
Eine Liste von Rollen, für die Data Consumers Zugriff beantragen können. Unterschiedliche Rollen können unterschiedliche Zugriffsrechte für rollenbasierte Zugriffskontrolle (RBAC) bereitstellen.
SLAs
Service-Level Agreements (SLAs) können definiert werden, um die erwartete Verfügbarkeit und Performance des Datenprodukts festzulegen.
Custom Properties
Für individuelle Anforderungen oder tooling-spezifische Bedürfnisse können zusätzliche Properties ergänzt werden.
Entropy Data
Entropy Data ist ein Frontend für die Verwaltung von Data Contracts und Datenprodukten in einer Organisation. Es nutzt Data Contracts, um einen Datenprodukt-Marktplatz mit erweiterten Funktionen für Data Discovery, versionsgesteuerte Bearbeitung von Data Contracts, Contract Testing und automatisierte Data Governance aufzubauen.
Screenshot des Data-Contract-Editors für ODCS in Entropy Data
Kostenlos registrieren oder die interaktive Demo von Entropy Data erkunden.