Microsoft AZ-204: Azure Cosmos DB — Руководство по подготовке

Часть Microsoft Azure Developer Associate AZ-204 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Microsoft, или пройдите тесты на время на ExamRoll.io.

Обзор

Azure Cosmos DB — это полностью управляемая, глобально распределенная, мультимодельная база данных, предназначенная для эластично масштабируемых приложений с низкой задержкой. Она предоставляет несколько API поверх общего механизма секционированного хранения и репликации, предлагает пять настраиваемых уровней согласованности и комплексные соглашения об уровне обслуживания (SLA) по доступности, задержке, пропускной способности и согласованности. Данные организованы в учетные записи, базы данных и контейнеры (или коллекции/таблицы/графы в зависимости от API). Контейнеры горизонтально секционируются и масштабируются по ключу секционирования, а все операции измеряются в единицах запросов (Request Units, RU) — нормализованной валюте, которая абстрагирует использование ЦП, IOPS и памяти.

API и программируемость

Cosmos DB поддерживает несколько API, совместимых на уровне протокола, что позволяет использовать нативные SDK и драйверы без переписывания модели данных:

undefined

.

Общие операции SDK для всех API включают CRUD, оптимистичный параллелизм с помощью ETag, операции upsert (обновление или вставка), серверные сценарии (хранимые процедуры, триггеры) и UDF (для API SQL). Запросы параметризуются для снижения потребления RU и повышения безопасности. Массовые операции и потоковые API минимизируют накладные расходы на стороне клиента и затраты в RU при приеме данных с высокой пропускной способностью.

Согласованность, индексирование и семантика запросов

Cosmos DB предлагает пять четко определенных уровней согласованности для каждой учетной записи (во многих SDK их можно переопределить для каждого отдельного запроса):

Индексирование для API SQL по умолчанию является автоматическим и согласованным. Каждый элемент и каждое свойство индексируются без управления схемой, поэтому операции записи немедленно обновляют индекс (режим индексирования Consistent). Вы можете точно настроить политику индексирования, чтобы:

Учитывайте размер элемента и форму запроса. API SQL накладывает ограничение на размер элемента (например, 2 МБ), а межсекционные запросы, большие проекции и сложные предикаты увеличивают потребление RU. Используйте выборочные проекции, подходящие фильтры и запросы, учитывающие секционирование, чтобы миними

Секционирование и пропускная способность (RU)

Cosmos DB разделяет логические и физические секции:

Выбирайте эффективный ключ секционирования с высокой кардинальностью и равномерным распределением доступа со временем. Хорошие ключи соотносятся с вашим основным путем доступа (например, userId, deviceId, tenantId или orderId). Избегайте ключей с низкой кардинальностью или сгруппированных по времени, которые вызывают перекос (например, country, status или day). Если ни одно свойство не подходит:

Модели пропускной способности:

Техники оптимизации RU включают точечные чтения по id+ключ секционирования, параметризованные запросы, выборочные проекции, денормализацию для сокращения шаблонов, подобных JOIN, и использование Change feed для производных представлений вместо сложных запросов к нескольким контейнерам. Используйте ETags с If-Match для управления параллелизмом, чтобы избежать дорогостоящих по RU повторных попыток. Отслеживайте метрики RU и троттлинг (HTTP 429) и реализуйте политики повторных попыток с джиттером в SDK.

Глобальное распределение и канал изменений

Готовое к использованию многорегиональное распределение Cosmos DB позволяет добавлять и удалять регионы в любое время. Все регионы доступны для чтения; включение многорегиональной записи позволяет выполнять одновременные операции записи повсеместно с задержкой чтения менее 10 мс на 99-м процентиле в ближайших регионах. Клиентские SDK следует настраивать с указанием предпочтительных регионов для локальной маршрутизации трафика и корректной отработки отказа. В .NET укажите предпочтительные регионы через CosmosClientOptions ApplicationPreferredRegions (или эквивалентный параметр в других SDK). Многорегиональная запись требует политики разрешения конфликтов:

Канал изменений предоставляет упорядоченный журнал изменений только для добавления (append-only) для каждого ключа логической секции. Он идеально подходит для:

Практический сценарий

Spotify необходимо предоставить глобально доступный сервис персонализации, который в реальном времени принимает взаимодействия пользователей, обновляет персональные рекомендации и обслуживает чтение с низкой задержкой из ближайшего региона. Записи могут поступать от мобильных клиентов по всему миру, а обновления рекомендаций должны распространяться в последующие системы.

  1. Выбрать Cosmos DB SQL (Core) API с многорегиональной записью
  1. Определить ключ секции с высокой кардинальностью и иерархические ключи
  1. Настроить автомасштабирование пропускной способности для основных контейнеров
  1. Установить уровень согласованности Session на уровне учетной записи
  1. Реализовать обработку канала изменений с помощью Azure Functions и Change Feed Processor
  1. Создать производный контейнер рекомендаций с настроенной политикой индексирования
  1. Включить глобальное распределение с указанием предпочтительных регионов в SDK
  1. Настроить разрешение конфликтов и наблюдаемость

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


Azure Storage и хранилище BLOB-объектов · Все домены · Контейнерные решения Azure

Отработать эти вопросы → · Тесты на время на ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Сдайте экзамен →

Просмотреть Microsoft →

Related guides

Все включено

Одна подписка. Каждый экзамен.

Каждый план открывает неограниченный поиск ответов, практические тесты, объяснения AI и полную библиотеку ресурсов — на более чем 20 языках.

Ежемесячно
24.87
Just €0.83/day
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

Лучшая цена
12 месяцев
179.87
Just €0.49/daySave 40%
Все включено:
  • Неограниченный поиск ответов
  • Неограниченные практические тесты
  • Объяснения на основе AI
  • Полная библиотека ресурсов
  • 20+ языков
  • Еженедельные обновления контента
  • Награды и рефералы
  • Приоритетная поддержка
Начать бесплатную пробную версию

Кредитная карта не требуется*

✓ Включен бесплатный план · ✓ Отмена в любое время · ✓ Все планы открывают полный продукт