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


Сравнение Azure DocumentDB с Azure Cosmos DB

Azure DocumentDB и Azure Cosmos DB — это мощные службы баз данных NoSQL, предназначенные для создания успешных приложений с гибкими моделями данных JSON. Хотя оба служат на рынке баз данных NoSQL, они оптимизированы для различных вариантов использования и архитектурных шаблонов. Это руководство поможет вам понять, какая служба лучше всего подходит для ваших конкретных требований.

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

Azure DocumentDB и Azure Cosmos DB предназначены для поддержки успеха с базами данных NoSQL. Ключ — выбор службы, которая соответствует конкретным требованиям и шаблонам роста приложения.

Когда выбрать Azure Cosmos DB

Azure Cosmos DB оптимизирован для сценариев горизонтального масштабирования , где требуется:

  • Глобальное распределение и высокая доступность: ведущее в отрасли соглашение об уровне доступности 99,999% (SLA) с автоматическим переключением на резервные ресурсы в нескольких регионах
  • Массовый масштаб и производительность: предназначен для приложений, которые должны обрабатывать миллионы операций в секунду с однозначным миллисекундным временем отклика.
  • Мгновенное масштабирование: автоматическое и прозрачное масштабирование, которое немедленно реагирует на пики трафика без периодов нагрева
  • Критически важные приложения: безопасность корпоративного уровня, сертификаты соответствия требованиям и гарантированная производительность при крайней нагрузке
  • Архитектуры микрослужб: отлично подходит для распределенных систем, требующих согласованной производительности в нескольких службах и регионах.
  • Приложения ИИ и векторный поиск: возможности собственных векторных баз данных с поддержкой встраивания, генерация с расширенным извлечением (RAG), семантический поиск и системы памяти агентам ИИ
  • Рабочие нагрузки генерированного искусственного интеллекта: интегрированный векторный поиск с несколькими алгоритмами (инвертированный файл (IVF), иерархический навигационируемый небольшой мир (HNSW), DiskANN) для хранения и запроса векторных внедрения вместе с операционными данными

Идеальные варианты использования: веб-приложения с высоким трафиком, сбор данных Интернета вещей, игры в режиме реального времени и глобальные торговые сайты. Кроме того, отлично подходит для чат-ботов ИИ, агентов ИИ, приложений RAG и семантического поиска. Идеально подходит для любого приложения, которое требует гарантированной производительности по всему миру.

Когда выбирать Azure DocumentDB

Azure DocumentDB оптимизирована для сценариев масштабирования , где требуется:

  • Расширенные возможности запросов: расширенная поддержка языка запросов MongoDB (MQL) с сложными конвейерами агрегирования, соединениями и аналитическими запросами
  • Знакомый интерфейс разработки: полная совместимость сетевого протокола MongoDB с существующими драйверами, инструментами и шаблонами разработки
  • Гибкое моделирование данных: встроенный модуль PostgreSQL, обеспечивающий надежную поддержку сложных структур документов и расширенного индексирования
  • Экономичное масштабирование: модель ценообразования на основе виртуальных ядер, масштабируемая по вертикали с прогнозируемыми затратами
  • Расширенные функции запроса: поддержка полнотекстового поиска, геопространственных запросов, векторного поиска и сложных операций агрегирования

Идеальные варианты использования: отлично подходит для систем содержимого, средств анализа данных и приложений с сложными запросами. Также идеально подходит для перехода из MongoDB или при необходимости расширенных функций базы данных документов.

Различия в архитектуре и масштабировании

Понимание основных архитектурных подходов каждой службы помогает объяснить свои различные сильные стороны и оптимальные варианты использования.

Azure Cosmos DB (архитектура масштабирующегося масштаба)

Azure Cosmos DB использует модель на основе единицы запросов (ЕЗ), предназначенную для эластичного горизонтального масштабирования:

  • Автоматическое секционирование: данные автоматически распределяются по нескольким секциям для оптимальной производительности
  • Детализированное управление пропускной способностью: масштабирование с шагом вплоть до 1/100 традиционного виртуального ядра
  • Бессерверные варианты: цены на оплату за операцию для переменных рабочих нагрузок
  • Поддержка нескольких моделей: встроенная поддержка документов, ключевых значений, графов и моделей данных семейства столбцов

Azure DocumentDB (архитектураScale-Up)

Azure DocumentDB использует модель на основе виртуальных ядер , оптимизированную для вертикального масштабирования и расширенных функций:

  • Выделенные вычислительные ресурсы: знакомые уровни кластера (M30, M40, M50+) с выделенным ЦП, памятью и хранилищем
  • Фонд PostgreSQL: использует зрелую экосистему PostgreSQL и расширенные функции
  • Совместимость MongoDB: полная совместимость протокола провода с инструментами и приложениями MongoDB
  • Расширенное индексирование: поддержка текстовых индексов, геопространственных индексов, векторных индексов и составных индексов

Сравнение функций

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

Azure Cosmos DB (облачная база данных) Azure DocumentDB
SLA по доступности 99.999% (с несколькими регионами) 99.995%
Глобальное распределение Комплексное решение для нескольких регионов с автоматическим переключением в случае отказа Региональное развертывание с георепликами
Модель масштабирования Горизонтальное (на основе российских стандартов) Вертикальная (на основе vCore)
Сложность запросов Оптимизировано для операций чтения точек и простых запросов Расширенные конвейеры агрегирования и сложные соединения
Совместимость MongoDB Основные операции MongoDB Полный сетевой протокол MongoDB и функции MQL
Векторный поиск Собственная база данных векторов с алгоритмами IVF, HNSW, DiskANN Встроенная поддержка pg_vector для HNSW и IVF
Приложения AI/RAG Встроенные векторные внедрения, память агента ИИ, семантическое кэширование Поиск вектора для RAG и семантических приложений
Модель ценообразования Переменные (основанные на RU) или бессерверные Предсказуемость (вычисления и хранения данных)
Модель разработки Облачные приложения Миграция и разработка приложений MongoDB

Характеристики производительности

Каждая служба отличается в разных сценариях производительности на основе их базовых архитектур и стратегий оптимизации.

Сильные стороны Azure Cosmos DB

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

Сильные стороны Azure DocumentDB

  • Производительность запросов: оптимизировано для сложных операций агрегирования и аналитических запросов
  • Гибкость индексирования: расширенные стратегии индексирования для различных шаблонов запросов
  • Поддержка транзакций: транзакции ACID с семантикой MongoDB
  • Аналитические рабочие нагрузки: лучше подходит для сценариев создания отчетов и бизнес-аналитики

Интеграция и экосистема

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

Интеграции Azure Cosmos DB

Azure Cosmos DB имеет следующие интеграции:

  • Azure Synapse Link: аналитика без извлечения, преобразования и загрузки (ETL) процессов
  • Функции Azure: бессерверные вычисления с триггерами канала изменений
  • Power BI: прямое подключение для бизнес-аналитики
  • Службы искусственного интеллекта Azure: встроенная интеграция для рабочих нагрузок ИИ и машинного обучения
  • Azure OpenAI: Беспроблемная интеграция для генерации встраиваний и приложений для RAG.
  • LangChain и AI Frameworks: встроенная поддержка популярных платформ разработки ИИ
  • Семантическое ядро: интеграция для создания агентов ИИ с системами постоянной памяти

Интеграция Azure DocumentDB

Azure DocumentDB имеет следующие интеграции:

  • Экосистема MongoDB: полная совместимость с существующими инструментами и библиотеками MongoDB
  • Расширения PostgreSQL: доступ к богатой экосистеме расширений PostgreSQL
  • Службы Azure: интеграция с службами мониторинга Azure, безопасности и сетевых служб
  • Открытый код: основан на подсистеме DocumentDB с открытым исходным кодом с лицензией MIT

Вопросы миграции

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

Переход в Azure Cosmos DB

Рассмотрите вариант использования Azure Cosmos DB, если ваше текущее приложение:

  • Сталкивается с непредсказуемыми паттернами трафика, требующими мгновенного масштабирования
  • Требуется глобальное распределение для взаимодействия пользователей
  • Имеет простые шаблоны запросов, ориентированные на поиск документов
  • Требуется гарантированное низкое время отклика.

Переход в Azure DocumentDB

Рассмотрите Azure DocumentDB, если текущее приложение:

  • Использует сложные запросы MongoDB и конвейеры агрегирования
  • Требуется расширенная оптимизация индексирования и запросов
  • Преимущества от зрелого набора функций PostgreSQL
  • Требуется прогнозируемая модель ценообразования на основе виртуальных ядер

Начало работы

Первый шаг с любым сервисом прост, с комплексными ресурсами, доступными для сопровождения вашего процесса. Обе службы предлагают комплексные средства миграции и поддержку для успешного перехода:

  • Средства оценки: оценка текущей рабочей нагрузки и требований
  • Служебные программы миграции: нативные средства для миграции данных и приложений
  • Документация и примеры: обширные ресурсы для обеих служб
  • Варианты поддержки: планы поддержки Azure для помощи в пути миграции

Дальнейшие шаги