Архитектура Cosmos DB
Разработка для Azure Storage
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
Проблема
Что такое Cosmos DB?
Мультимодельная глобально распределённая NoSQL-база данных.
NoSQL — гибкое хранилище с папочной структурой.
Поддерживает несколько API и типов данных.
Выберите подходящий API:
SQL (Core) — для JSON-документов.
MongoDB — для разработчиков на Mongo.
Cassandra — для ширококолоночных данных.
Gremlin — для графовых связей.
Table API — для хранилища «ключ — значение».
Cosmos DB для разработчиков
Создана с учётом потребностей разработчиков.
Автоматическая индексация — управление схемой не требуется.
Быстрые запросы.
Пять уровней согласованности: от Strong до Eventual.
Компромисс между производительностью и согласованностью.
Strong — все получают одинаковые данные мгновенно.
Eventual — данные синхронизируются со временем.
Масштабирование и пропускная способность (RU/s)
Единицы запросов в секунду (RU/s) — «валюта» производительности Cosmos DB.
Каждая операция чтения, записи или запроса расходует RU/s.
Выберите фиксированную подготовку или автомасштабирование.
Масштабирование и пропускная способность (RU/s)
Единицы запросов в секунду (RU/s) — «валюта» производительности Cosmos DB.
Каждая операция чтения, записи или запроса расходует RU/s.
Выберите фиксированную подготовку или автомасштабирование.
Автомасштабирование подстраивается под нагрузку автоматически.
Эластичное масштабирование и секционирование
Cosmos DB масштабируется с помощью секционирования.
Каждый контейнер использует ключ секции.
Ключ группирует связанные данные вместе.
Пример: Cipher Coffee использует
/customerId
для заказов.
Все заказы клиента хранятся в одной секции при использовании
/customerId
в качестве ключа секции.
Запросы остаются быстрыми даже при росте данных.
Горячая секция
: неравномерная нагрузка, снижающая производительность.
Глобальное распределение
Легко реплицируйте данные в любой регион Azure.
Достаточно отметить нужные регионы — никакой сложной настройки.
При сбое региона трафик автоматически перенаправляется.
Без простоев и потери данных.
Резервный регион всегда готов обслуживать пользователей.
Мониторинг и оптимизация затрат
Отслеживайте производительность на портале Azure.
Просматривайте метрики: RU/s, задержку и стоимость запросов.
Как приборная панель автомобиля — показывает скорость и расход топлива.
Инженеры Cipher Coffee проанализировали эти метрики.
Динамическая настройка пропускной способности позволила снизить затраты.
Давайте потренируемся!
Разработка для Azure Storage
Preparing Video For Download...