Обзор поддерживаемых API
Azure Cosmos DB предлагает несколько API базы данных, включая NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin и Table. С помощью этих API можно моделировать реальные данные на основе документов, пар "ключ — значение", графов и моделей данных семейства столбцов. Эти API позволяют приложениям работать с Azure Cosmos DB так же, как и с другими СУБД, без дополнительных затрат на управление и масштабирование. Azure Cosmos DB помогает использовать экосистемы, инструменты и навыки, которые уже имеются для моделирования данных и выполнения запросов с помощью различных API.
Все API-интерфейсы обеспечивают автоматическое масштабирование хранилища и пропускной способности, гибкость и гарантии производительности. Нет ни одного лучшего API, и вы можете выбрать любой из API для сборки приложения.
Рекомендации по выбору API
API для NoSQL является собственным для Azure Cosmos DB.
API для MongoDB, PostgreSQL, Cassandra, Gremlin и Table реализуют протокол провода ядр субД с открытым кодом. Эти API лучше всего подходят в следующих случаях:
- Если у вас есть приложения MongoDB, PostgreSQL, Cassandra или Gremlin
- Если вы не хотите переписать весь уровень доступа к данным
- Если вы хотите использовать экосистему разработчика с открытым исходным кодом, клиентские драйверы, опыт и ресурсы для базы данных
API для NoSQL
API Azure Cosmos DB для NoSQL сохраняет данные в формате документа. Она поддерживает самые широкие возможности для полного контроля над интерфейсом, службой и клиентскими библиотеками SDK. Все новые функции, развернутые в Azure Cosmos DB, впервые доступны в API для учетных записей NoSQL. Учетные записи NoSQL поддерживают запросы элементов с помощью синтаксиса язык SQL (SQL).
API для MongoDB
API Azure Cosmos DB для MongoDB сохраняет данные в структуре документа с помощью формата BSON. Он совместим с протоколом проводной передачи MongoDB; однако он не использует собственный связанный код MongoDB. API для MongoDB — это отличный выбор, если вы хотите использовать более широкую экосистему и навыки MongoDB без ущерба для использования функций Azure Cosmos DB.
API для PostgreSQL
Azure Cosmos DB для PostgreSQL — это управляемая служба для запуска PostgreSQL в любом масштабе с открытый код сверхспособности распределенных таблиц. Он хранит данные либо на одном узле, либо распространяется в конфигурации с несколькими узлами.
API для Apache Cassandra
API Azure Cosmos DB для Cassandra хранит данные в схеме, ориентированной на столбцы. Apache Cassandra поддерживает высокораспределенный и горизонтальный подход к масштабированию для хранения больших объемов данных в сочетании с гибкими функциями работы с ориентированной на столбцы схемой. API для Cassandra в Azure Cosmos DB соответствует этой философии подходу к распределенным базам данных NoSQL. Этот API для Cassandra совместим с собственным протоколом Apache Cassandra.
API для Apache Gremlin
API Azure Cosmos DB для Gremlin позволяет пользователям выполнять запросы графов и хранить данные в виде ребер и вершин.
Используйте API для Gremlin для сценариев:
- Участие динамических данных
- Использование данных со сложными связями
- Использование данных, которые слишком сложны для моделирования с реляционными базами данных
- Если вы хотите использовать существующую экосистему Gremlin и навыки
API для таблицы
API Azure Cosmos DB для таблицы хранит данные в формате key/value. Если в настоящее время используется хранилище таблиц Azure, может возникнуть некоторые ограничения в задержке, масштабировании, пропускной способности, глобальном распределении, управлении индексами, низкой производительности запросов. API для таблицы преодолеет эти ограничения, и рекомендация заключается в переносе приложения, если вы хотите использовать преимущества Azure Cosmos DB. API для таблиц поддерживает только сценарии OLTP.