CRUD-операции в Cosmos DB

Разработка для Azure Storage

Shahzad Mian

Content developer, Datacamp

Создание

  • Основной способ взаимодействия с Cosmos DB из приложения — через SDK

Регистрация клиента

Разработка для Azure Storage

Чтение

  • Приложение использует SDK для чтения документа клиента по его уникальному ID

Клиент проверяет баланс бонусов

Разработка для Azure Storage

Обновление

  • Приложение находит документ и обновляет количество баллов со 100 до 0.

Клиент использует баланс баллов

Разработка для Azure Storage

Удаление

  • Фоновый процесс использует SDK для безвозвратного удаления документа из контейнера.

Клиент удаляет профиль

Разработка для Azure Storage

Выбор уровня согласованности

  • Выбор уровня согласованности — определяет, как быстро изменения данных становятся видны в разных регионах.

Глобус с Лондоном и Токио

Разработка для Azure Storage

Строгая

  • Строгая — максимальная точность: все узлы должны подтвердить запись, прежде чем обновление станет видимым.
  • Наиболее медленная; идеальна для финансовых транзакций.

Строгая согласованность

Разработка для Azure Storage

Ограниченное устаревание

  • Предсказуемые и стабильные операции чтения.

Gemini_Generated_Image_l6c590l6c590l6c5.jpeg

Разработка для Azure Storage

Сессионная

  • Вариант по умолчанию и наиболее популярный.
  • Данные доступны для чтения сразу.
  • Согласованный опыт работы.
  • Оптимально для интерактивных пользовательских приложений.

Сессионное приложение

Разработка для Azure Storage

Согласованный префикс

  • Изменения всегда отображаются в том порядке, в котором были внесены.
  • Если изменения вносятся быстро, часть из них может быть не видна сразу.

  • Правильный порядок:

    • С небольшой задержкой относительно последнего действия.

Gemini_Generated_Image_qnfs4mqnfs4mqnfs.jpeg

Разработка для Azure Storage

Итоговая

  • Самый слабый уровень.
  • Нет гарантий по времени или порядку.
  • Минимальная задержка.
  • Максимальная доступность.

  • Подходит для некритичных данных.

Итоговая согласованность

Разработка для Azure Storage

Тонкая настройка поведения

Выбор подходящего уровня согласованности

Разработка для Azure Storage

Давайте потренируемся!

Разработка для Azure Storage

Preparing Video For Download...