Различия между Azure Управляемый экземпляр для Apache Cassandra и Azure Cosmos DB для Apache Cassandra

В этой статье вы узнаете о различиях между Azure Управляемый экземпляр для Apache Cassandra и Azure Cosmos DB на основе ЕЗ для Apache Cassandra. Здесь собраны рекомендации по выбору между этими двумя службами и по размещению собственной среды Apache Cassandra.

Основные отличия

Azure Управляемый экземпляр для Apache Cassandra — это полностью управляемая служба для чистых кластеров Apache Cassandra с открытым кодом. Служба также позволяет переопределить конфигурации в зависимости от конкретных потребностей каждой рабочей нагрузки, что позволяет обеспечить максимальную гибкость и контроль при необходимости. Помимо этого, она позволяет масштабировать емкость существующих локальных и облачных кластеров Apache Cassandra. Масштабирование осуществляется путем добавления управляемых центров обработки данных Cassandra к существующему кругу кластера.

Azure Cosmos DB на основе ЕЗ для Apache Cassandra в Azure Cosmos DB — это уровень совместимости по глобально распределенной облачной службе базы данных Azure Cosmos DB корпорации Майкрософт.

Как правильно выбрать?

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

Локальная среда Apache Cassandra в локальной среде или в Azure Управляемый экземпляр Azure для Apache Cassandra Azure Cosmos DB for Apache Cassandra
Тип развертывания У вас есть развертывание Apache Cassandra с высоким уровнем персонализации, пользовательскими исправлениями или дополнениями. У вас есть стандартное развертывание Apache Cassandra с открытым кодом, в котором вы не применяете собственный пользовательский код. Вас устроит платформа, которая не основана на Apache Cassandra. Главное, чтобы на уровне сетевого протокола она была совместима со всеми клиентскими драйверами с открытым кодом.
Операционные издержки У вас уже есть специалисты по Cassandra, которые умеют развертывать, настраивать и обслуживать кластеры. Вы хотите исключить операционные издержки с помощью полностью управляемой базы данных как службы для Apache Cassandra с открытым исходным кодом, но при необходимости можно управлять конфигурациями Cassandra, такими как репликация и согласованность. Вы хотите избавиться от операционных издержек, перейдя на полностью управляемую базу данных в формате "платформа как услуга" в облаке.
Поддержка рабочей среды Вы обрабатываете динамические инциденты и сбои самостоятельно, включая обращение к соответствующим командам инфраструктуры для вычислений, сети, хранилища и т. д. Вы хотите, чтобы управляемая служба была первой стороной, которая будет выступать в качестве единого магазина для поддержки динамических инцидентов и сбоев. Вы хотите, чтобы управляемая служба была первой стороной, которая будет выступать в качестве единого остановного магазина для живых инцидентов и сбоев.
Поддержка программного обеспечения Вы обрабатываете все исправления и гарантируете, что программное обеспечение обновляется до окончания срока жизни. Вам нужен интерфейс управляемой службы, который будет предлагать поддержку уровня программного обеспечения Cassandra за пределами срока жизни, автоматического исправления и обновления ключей для основных версий. Требуется интерфейс первой управляемой службы, где поддержка уровня программного обеспечения полностью абстрагируется.
Требования к операционной системе Есть необходимость поддерживать пользовательские или эталонные образы операционной системы для виртуальных машин. Вы можете использовать образы ванили, но хотите контролировать выбор номеров SKU, памяти, дисков и операций ввода-вывода в секунду. Вы хотите упростить подготовку производительности, выразив ее через одну нормализованную метрику с прямой зависимостью от пропускной способности, такую как единицы запроса в Azure Cosmos DB.
Модель ценообразования Вы хотите использовать для управления специализированное программное обеспечение, такое как средства Datastax, и готовы к затратам на лицензирование. Вы предпочитаете использовать лицензии на ПО с открытым кодом, привязанные к экземплярам виртуальных машин. Вы хотите использовать облачную структуру цен, которая учитывает технологии автомасштабирования и бессерверного выполнения.
Аналитика Вам нужен полный контроль над подготовкой аналитических конвейеров, и вас не пугают затраты на их создание и поддержку. Вы хотите использовать облачные аналитические службы, например Azure Databricks. Вы хотите почти в режиме реального времени гибридную аналитику транзакций, встроенную в платформу с Помощью Azure Synapse Link для Azure Cosmos DB.
Структура рабочих нагрузок Рабочая нагрузка не склонна быстро изменяться, и вам редко требуется масштабирование узлов в кластере. Рабочая нагрузка очень нестабильна, и вам нужна возможность быстро увеличивать и уменьшать число узлов в центре обработки данных, а также добавлять и удалять центры обработки данных. Рабочая нагрузка часто изменяется, и вам нужна возможность быстро увеличивать или уменьшать производительность системы в широких пределах.
Соглашения об уровне обслуживания Вас устраивают существующие процессы, предназначенные для соблюдения соглашений об уровне обслуживания по параметрам согласованности, пропускной способности, доступности и аварийного восстановления. Вы удовлетворены процессами поддержания соглашений об уровне обслуживания по согласованности и пропускной способности, но хотите соглашение об уровне обслуживания для доступности и нуждаетесь в помощи в резервном копировании. Вы хотите полностью комплексные соглашения об уровне обслуживания для обеспечения согласованности, пропускной способности, доступности и аварийного восстановления.
Репликация и согласованность Необходимо настроить полный массив параметров согласованности, доступных в Apache Cassandra для пути чтения и записи. Необходимо настроить полный массив параметров согласованности, доступных в Apache Cassandra для пути чтения и записи. Согласованность пути чтения одного (в конечном итоге) или ALL (строгого) достаточно для всех приложений (см. также сопоставление уровней согласованности Cassandra).
Модель данных Вы переносите рабочие нагрузки, которые имеют сочетание равномерного распределения данных и смещенных данных (в отношении хранилища и пропускной способности между ключами секций), требующих гибкости в вертикальном масштабе узлов. Вы переносите рабочие нагрузки, которые имеют сочетание равномерного распределения данных и смещенных данных (в отношении хранилища и пропускной способности между ключами секций), требующих гибкости в вертикальном масштабе узлов. Вы создаете новое приложение или существующее приложение имеет относительно равномерное распределение данных в отношении хранилища и пропускной способности между ключами секций.

Следующие шаги