Поделиться через


Примеры наборов данных в Cosmos DB в Microsoft Fabric

Рабочая нагрузка базы данных Microsoft Fabric Cosmos DB предоставляет встроенные примеры наборов данных, которые помогут вам изучить, научиться и экспериментировать с шаблонами базы данных NoSQL. Этот набор данных представляет сценарий электронной коммерции с продуктами и отзывами клиентов, демонстрируя, как разные типы сущностей сосуществуют в одном контейнере.

Доступны два примера наборов данных:

  • Стандартные образцы данных: основные данные для электронной коммерции с продуктами и отзывами
  • Векторные примеры данных: расширенная версия, содержащая векторные внедрения 1536-мерных векторов, созданных с помощью модели внедрения текста OpenAI-ada-002 для сценариев семантического поиска.

Обзор набора данных

Оба примера наборов данных содержат одни и те же данные электронной коммерции с двумя типами документов.

  • Документы о продуктах (docType: "product") — отдельные продукты с именем, описанием, инвентаризацией, текущей ценой и внедренным массивом журнала цен для этого продукта.
  • Ознакомление с документами (docType: "review") — отзывы клиентов и рейтинги, связанные с продуктами через productId

Векторный набор данных основан на стандартном наборе данных. Документы продукта в наборе векторных данных включают дополнительное vectors свойство, содержащее 1536-мерные эмбеддинги для возможностей семантического поиска.

Замечание

Вы можете найти оба набора данных, а также дополнительный набор данных с векторами, созданными с помощью модели OpenAI text-embedding-3-large с 512 измерениями в папке примеров наборов данных Cosmos DB в репозитории образцов Fabric

Схемы документов

Схема документа продукта

Документы продукта содержат подробные сведения об отдельных элементах в каталоге электронной коммерции:

Недвижимость Тип Описание
id string Уникальный идентификатор продукта в формате GUID
docType string Идентификатор типа документа, всегда "product"
productId string Идентификатор продукта, такой же, как id для документов продукта
name string Отображаемое название продукта
description string Подробное описание продукта
categoryName string Категория продукта (например, "Компьютеры, ноутбуки", "Мультимедиа", "Аксессуары")
inventory number Количество товаров в наличии
firstAvailable string Дата, когда продукт стал доступен (формат ISO 8601)
currentPrice number Текущая цена продажи
priceHistory array Массив объектов изменения цен с полями date и price.
priceHistory[].date string Дата и время изменения цены в формате ISO 8601
priceHistory[].price number Цена по указанной дате
vectors array Примеры данных, только векторные — 1536-мерное векторное встраивание

Проверка схемы документа

Ознакомьтесь с документами, содержащими отзывы клиентов и оценки о продуктах.

Недвижимость Тип Описание
id string Уникальный идентификатор проверки в формате GUID
docType string Идентификатор типа документа, всегда "review"
productId string Ссылки на id проверяемый продукт
categoryName string Категория продукта (наследуется от проверенного продукта)
customerName string Имя клиента, который написал отзыв
reviewDate string Дата отправки проверки (формат ISO 8601)
stars number Оценка, предоставленная клиентом (1-5 шкала)
reviewText string Написанное содержание отзыва от клиента

Замечание

Cosmos DB автоматически создает системные свойства (_rid, _self, _etag, _attachments) _tsдля всех документов.

Замечание

Дополнительные сведения о формате ISO 8601 см. в международном стандарте даты и времени. Дополнительные сведения о формате GUID см. в универсальных уникальных идентификаторах.

Примеры документов

В следующих примерах показана структура документов в обоих примерах наборов данных.

Пример стандартного документа продукта

{
  "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
    }
  ]
}

Пример векторного документа продукта

{
    "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
    ]
}

Пример документа проверки

Документы проверки идентичны в обоих примерах наборов данных:

{
  "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."
}

Использование примеров данных

Оба примера наборов данных помогают выполнять запросы, фильтрацию и агрегирование данных в Cosmos DB. Смешанные типы документов предоставляют реалистичные сценарии для различных вариантов использования.

Стандартные примеры сценариев данных

  • Присоединение связанных данных: связывание отзывов с продуктами с помощью productId
  • Анализ категорий: запрос продуктов и отзывов по categoryName
  • Анализ отзывов: исследование закономерностей отзывов клиентов и их оценок

Распространенные шаблоны запросов

Получить все товары в категории:

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

Получение отзывов для определенного продукта:

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

Примеры сценариев данных вектора

  • Поиск семантических сходств: поиск продуктов с аналогичными характеристиками с помощью векторных встраиваний
  • Рекомендации на основе содержимого: создание предложений продукта на основе сходства описания
  • Гибридные запросы: объединение традиционных фильтров с векторной сходством для расширенных результатов

Схемы JSON

В следующих схемах JSON описывается структура документов в обоих примерах наборов данных. Используйте эти схемы для проверки или создания аналогичных данных для собственных рабочих нагрузок Cosmos DB.

Стандартная схема документа продукта

{
  "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"
  ]
}

Схема документа продукта с поддержкой векторов

{
  "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"
  ]
}

Проверка схемы документа

{
  "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"
  ]
}