Teilen über


Beispieldatensätze in Cosmos DB in Microsoft Fabric

Der Cosmos DB-Datenbankworkload von Microsoft Fabric bietet integrierte Beispieldatensätze, mit denen Sie NoSQL-Datenbankmuster untersuchen, erlernen und experimentieren können. Dieser Datensatz stellt ein E-Commerce-Szenario mit Produkten und Kundenrezensionen dar und veranschaulicht, wie verschiedene Entitätstypen im selben Container koexistieren.

Es stehen zwei Beispieldatensätze zur Verfügung:

  • Standardbeispieldaten: Zentrale E-Commerce-Daten mit Produkten und Rezensionen
  • Vektorbeispieldaten: Erweiterte Version, die 1536-dimensionale Vektoreinbettungen enthält, die mit dem Text-Embedding-ada-002-Modell von OpenAI für semantische Suchszenarien generiert wurden.

Übersicht über Datensätze

Beide Beispieldatensätze enthalten dieselben E-Commerce-Daten mit zwei Dokumenttypen.

  • Produktdokumente (docType: "product") – Einzelne Produkte mit Name, Beschreibung, Bestand, aktueller Preis und ein eingebettetes Array der Preishistorie für dieses Produkt.
  • Dokumente überprüfen (docType: "review") – Kundenrezensionen und Bewertungen, die mit Produkten verknüpft sind, über productId

Der Vektorbeispieldatensatz basiert auf dem Standardmäßigen Beispieldatensatz. Produktdokumente im Vektordatensatz enthalten eine zusätzliche vectors Eigenschaft, die 1536-dimensionale Einbettungen für semantische Suchfunktionen enthält.

Hinweis

Sie können sowohl Datasets als auch ein zusätzliches Dataset mit Vektoren finden, die mit dem OpenAI-Texteinbettung-3-Großmodell mit 512 Dimensionen im Ordner "Sample Datasets" der Cosmos DB in Fabric - Samples Repository generiert werden.

Dokumentschemas

Produktdokumentschema

Produktdokumente enthalten detaillierte Informationen zu einzelnen Artikeln im E-Commerce-Katalog:

Eigentum Typ BESCHREIBUNG
id string Eindeutiger Bezeichner für das Produkt im GUID-Format
docType string Dokumenttypbezeichner, immer "product"
productId string Produktkennung, identisch mit id für Produktdokumente
name string Anzeigename des Produkts
description string Detaillierte Produktbeschreibung
categoryName string Produktkategorie (z. B. "Computer, Laptops", "Medien", "Zubehör")
inventory number Anzahl der aktuell in Lager befindlichen Artikel
firstAvailable string Datum, an dem das Produkt verfügbar wurde (ISO 8601-Format)
currentPrice number Aktueller Verkaufspreis
priceHistory array Array von Preisänderungsobjekten mit date und price Feldern
priceHistory[].date string Datum und Uhrzeit der Preisänderung im ISO 8601-Format
priceHistory[].price number Preis zum angegebenen Datum
vectors array Nur Vektorbeispieldaten - 1536-dimensionale Vektoreinbettung

Dokumentschema überprüfen

Überprüfungsdokumente enthalten Kundenfeedback und Bewertungen für Produkte:

Eigentum Typ BESCHREIBUNG
id string Eindeutiger Bezeichner für die Überprüfung im GUID-Format
docType string Dokumenttypbezeichner, immer "review"
productId string Verweist auf das id des geprüften Produkts
categoryName string Produktkategorie (geerbt vom überprüften Produkt)
customerName string Name des Kunden, der die Rezension geschrieben hat
reviewDate string Datum der Übermittlung der Überprüfung (ISO 8601-Format)
stars number Bewertung des Kunden (1-5 Skala)
reviewText string Schriftliche Rezensionsinhalte vom Kunden

Hinweis

Cosmos DB generiert automatisch Systemeigenschaften (_rid, _self, _etag, _attachments, _ts) für alle Dokumente.

Hinweis

Weitere Informationen zum ISO 8601-Format finden Sie unter internationaler Datums- und Uhrzeitstandard. Weitere Informationen zum GUID-Format finden Sie unter universally unique identifiers.

Beispieldokumente

Die folgenden Beispiele zeigen die Struktur von Dokumenten in beiden Beispieldatensätzen.

Beispiel für ein Standardproduktdokument

{
  "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "docType": "product",
  "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "name": "EchoSphere Pro ANC-X900 Premium Headphones",
  "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
  "categoryName": "Accessories, Premium Headphones",
  "inventory": 772,
  "firstAvailable": "2024-01-01T00:00:00",
  "currentPrice": 454.87,
  "priceHistory": [
    {
      "date": "2024-01-01T00:00:00",
      "price": 349.0
    },
    {
      "date": "2024-08-01T00:00:00",
      "price": 363.0
    },
    {
      "date": "2025-04-01T00:00:00",
      "price": 408.14
    },
    {
      "date": "2025-08-01T00:00:00",
      "price": 454.87
    }
  ]
}

Beispiel für Vektorisiertes Produktdokument

{
    "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "docType": "product",
    "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "name": "EchoSphere Pro ANC-X900 Premium Headphones",
    "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
    "categoryName": "Accessories, Premium Headphones",
    "inventory": 772,
    "firstAvailable": "2024-01-01T00:00:00",
    "currentPrice": 454.87,
    "priceHistory": [
      {
        "date": "2024-01-01T00:00:00",
        "price": 349.0
      },
      {
        "date": "2025-08-01T00:00:00",
        "price": 454.87
      }
    ],
    "vectors": [
      -0.02783808670938015,
      0.011827611364424229,
      -0.04711977392435074,
      // ... (1536 dimensions total)
      0.04251981899142265
    ]
}

Beispiel für ein Überprüfen des Dokuments

Überprüfungsdokumente sind in beiden Beispieldatensätzen identisch:

{
  "id": "fa799013-1746-4a7f-bd0f-2a95b2b76481",
  "docType": "review",
  "productId": "e847e069-d0f9-4fec-b42a-d37cd5b2f536",
  "categoryName": "Accessories, Premium Headphones",
  "customerName": "Emily Rodriguez",
  "reviewDate": "2025-03-02T00:00:00",
  "stars": 5,
  "reviewText": "Excellent sound quality! Premium build! This EchoSphere Pro ANC-X900 exceeded hopes."
}

So verwenden Sie die Beispieldaten

Beide Beispieldatensätze helfen Ihnen beim Abfragen, Filtern und Aggregieren von Daten in Cosmos DB. Die gemischten Dokumenttypen bieten realistische Szenarien für verschiedene Anwendungsfälle.

Standardbeispieldatenszenarien

  • Verknüpfen verwandter Daten: Verknüpfen von Rezensionen mit Produkten mithilfe von productId
  • Kategorieanalyse: Abfragen von Produkten und Rezensionen nach categoryName
  • Überprüfungsanalyse: Überprüfen von Kundenfeedbackmustern und Bewertungen

Allgemeine Abfragemuster

Abrufen aller Produkte in einer Kategorie:

SELECT *
FROM c
WHERE 
  c.docType = "product" AND 
  c.categoryName = "Computers, Laptops"

Erhalten Sie Rezensionen für ein bestimmtes Produkt:

SELECT *
FROM c
WHERE 
  c.docType = "review" AND 
  c.productId = "77be013f-4036-4311-9b5a-dab0c3d022be"

Vektorbeispieldatenszenarien

  • Semantische Ähnlichkeitssuche: Suchen von Produkten mit ähnlichen Features mithilfe von Vektoreinbettungen
  • Inhaltsbasierte Empfehlungen: Generieren von Produktvorschlägen basierend auf der Ähnlichkeit der Beschreibung
  • Hybridabfragen: Kombinieren herkömmlicher Filter mit Vektorähnlichkeit für erweiterte Ergebnisse

JSON-Schemas

Die folgenden JSON-Schemas beschreiben die Struktur von Dokumenten in beiden Beispieldatensätzen. Verwenden Sie diese Schemas, um ähnliche Daten für Ihre eigenen Cosmos DB-Workloads zu validieren oder zu generieren.

Standardproduktdokumentschema

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory"
  ]
}

Vektorfähiges Produktdokumentschema

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    },
    "vectors": {
      "type": "array",
      "items": { "type": "number" },
      "minItems": 1536,
      "maxItems": 1536
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory", "vectors"
  ]
}

Dokumentschema überprüfen

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string", "const": "review" },
    "productId": { "type": "string" },
    "categoryName": { "type": "string" },
    "customerName": { "type": "string" },
    "reviewDate": { "type": "string" },
    "stars": { "type": "number" },
    "reviewText": { "type": "string" }
  },
  "required": [
    "id", "docType", "productId", "categoryName", "customerName", 
    "reviewDate", "stars"
  ]
}