Diferenças entre a Instância Gerenciada do Azure para Apache Cassandra e o Azure Cosmos DB for Apache Cassandra
Neste artigo, você aprenderá as diferenças entre a Instância Gerenciada do Azure para Apache Cassandra e o Azure Cosmos DB for Apache Cassandra baseado em RU. Este artigo fornece recomendações de como escolher entre os dois serviços ou quando hospedar seu próprio ambiente do Apache Cassandra.
A Instância Gerenciada do Azure para Apache Cassandra é um serviço totalmente gerenciado para clusters Apache Cassandra de código aberto puro. O serviço também permite que as configurações sejam substituídas, dependendo das necessidades específicas de cada carga de trabalho, permitindo a máxima flexibilidade e controle quando necessário. Ela também permite escalar horizontalmente a capacidade dos clusters Apache Cassandra existentes auto-hospedados na nuvem ou locais. Ela escala horizontalmente adicionando datacenters do Cassandra gerenciados ao anel do cluster existente.
O Azure Cosmos DB for Apache Cassandra baseado em RU no Azure Cosmos DB é uma camada de compatibilidade sobre o serviço de banco de dados nativo em nuvem distribuído globalmente da Microsoft Azure Cosmos DB.
A tabela a seguir mostra cenários comuns, requisitos de carga de trabalho e aspirações em que cada uma dessas abordagens de implantação se encaixa:
Apache Cassandra auto-hospedado no local ou no Azure | Instância Gerenciada do Azure para Apache Cassandra | Azure Cosmos DB for Apache Cassandra | |
---|---|---|---|
Tipo de implantação | Você tem uma implantação do Apache Cassandra altamente personalizada com snitches ou patches personalizados. | Você tem uma implantação do Apache Cassandra de software livre padrão sem nenhum código personalizado. | Você está satisfeito com uma plataforma sem o Apache Cassandra subjacente, mas está em conformidade com todos os drivers de cliente de software livre no nível do protocolo de transmissão. |
Sobrecarga operacional | Você tem especialistas em Cassandra que podem implantar, configurar e manter seus clusters. | Você deseja eliminar a sobrecarga operacional usando um Banco de Dados como Serviço totalmente gerenciado para o Apache Cassandra de código aberto, mas tem a opção de controlar configurações específicas do Cassandra, como replicação e consistência, quando necessário. | Você deseja eliminar a sobrecarga operacional usando um banco de dados de plataforma como serviço totalmente gerenciado na nuvem. |
Suporte de produção | Você mesmo lida com incidentes e interrupções em tempo real, incluindo o contato com as equipes de infraestrutura relevantes para computação, rede, armazenamento etc. | Você deseja uma experiência de serviço gerenciado interno que atue como uma loja única para dar suporte a incidentes e interrupções ao vivo. | Você deseja uma experiência de serviço gerenciado interno que funcione como uma loja única para incidentes e interrupções em tempo real. |
Suporte do Software | Você cuida de todos os patches e garante que o software seja atualizado antes do fim da vida útil. | Você deseja uma experiência de serviço gerenciado primário que oferecerá suporte ao nível de software do Cassandra além do fim da vida útil, aplicação de patch automatizada e atualizações prontas para uso para versões principais | Você deseja uma experiência de serviço gerenciado interno, em que o suporte no nível do software seja totalmente abstraído. |
Requisitos do sistema operacional | Você tem o requisito de manter imagens personalizadas ou de ouro do sistema operacional da Máquina Virtual. | Você pode usar imagens básicas, mas quer ter controle sobre a seleção de SKUs, memória, discos e IOPS. | Você quer que o provisionamento de capacidade seja simplificado e expresso como uma só métrica normalizada, com uma relação de um para um com a taxa de transferência, como as unidades de solicitação no Azure Cosmos DB. |
Modelo de preços | Você deseja usar software de gerenciamento, como as ferramentas do Datastax, e está satisfeito com os custos de licenciamento. | Você prefere ter apenas licenciamento de software livre e o preço baseado em instâncias de VM. | Você deseja usar preços nativos de nuvem, que incluem o dimensionamento automático e as ofertas sem servidor. |
Análise | Você deseja ter controle total sobre o provisionamento de pipelines analíticos, independentemente da sobrecarga para criá-los e mantê-los. | Você deseja usar serviços analíticos baseados em nuvem, como o Azure Databricks. | Você quer ter análise transacional híbrida quase em tempo real incorporada à plataforma com o Link do Azure Synapse para Azure Cosmos DB. |
Padrão da carga de trabalho | O estado de carga de trabalho é razoavelmente estável e você não precisa dimensionar os nós do cluster com frequência. | A carga de trabalho é volátil e você precisa ser capaz de escalar ou reduzir verticalmente os nós em um datacenter ou de adicionar/remover datacenters facilmente. | A carga de trabalho costuma ser volátil e você precisa ser capaz de escalar ou reduzir verticalmente com rapidez e em volumes significativos. |
SLAs | Você está satisfeito com seus processos para manter os SLAs em termos de consistência, taxa de transferência, disponibilidade e recuperação de desastre. | Você está satisfeito com seus processos para manter os SLAs em termos de consistência e taxa de transferência, mas deseja um SLA de disponibilidade e precisa de ajuda com backups. | Você quer SLAs totalmente abrangentes em termos de consistência, taxa de transferência, disponibilidade e recuperação de desastre. |
Replicação e consistência | Você precisa definir a matriz completa de configurações de consistência ajustáveis disponíveis no Apache Cassandra para o caminho de leitura e gravação. | Você precisa definir a matriz completa de configurações de consistência ajustáveis disponíveis no Apache Cassandra para o caminho de leitura e gravação. | Uma consistência de caminho de leitura ONE (eventual) ou ALL (forte) é suficiente para todos os seus aplicativos (confira também mapeando os níveis de consistência do Cassandra) |
Modelo de dados | Você está migrando cargas de trabalho que têm uma mistura de distribuição uniforme de dados e dados distorcidos (em relação ao armazenamento e à taxa de transferência entre chaves de partição) que exigem flexibilidade na escala vertical de nós. | Você está migrando cargas de trabalho que têm uma mistura de distribuição uniforme de dados e dados distorcidos (em relação ao armazenamento e à taxa de transferência entre chaves de partição) que exigem flexibilidade na escala vertical de nós. | Você está criando um novo aplicativo ou seu aplicativo existente tem uma distribuição relativamente uniforme de dados em relação ao armazenamento e à taxa de transferência nas chaves de partição. |