Diferenças entre a Instância Gerenciada do Azure para Apache Cassandra e o Azure Cosmos DB para Apache Cassandra
Neste artigo, você aprenderá as diferenças entre a Instância Gerenciada do Azure para Apache Cassandra e o Azure Cosmos DB baseado em RU para Apache Cassandra. Este artigo fornece recomendações sobre como escolher entre os dois serviços ou quando hospedar seu próprio ambiente Apache Cassandra.
Diferenças principais
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 onde necessário. Ele também fornece a capacidade de expandir a capacidade de clusters Apache Cassandra existentes no local ou na nuvem auto-hospedados. Ele se expande adicionando datacenters Cassandra gerenciados ao anel de cluster existente.
O Azure Cosmos DB baseado em RU para Apache Cassandra no Azure Cosmos DB é uma camada de compatibilidade sobre o serviço de banco de dados nativo da nuvem distribuído globalmente da Microsoft, Azure Cosmos DB.
Como escolher?
A tabela a seguir mostra os cenários comuns, os requisitos de carga de trabalho e as aspirações em que cada uma dessas abordagens de implantação se encaixa:
Apache Cassandra auto-hospedado no local ou no Azure | Azure Managed Instance for Apache Cassandra | Azure Cosmos DB para Apache Cassandra | |
---|---|---|---|
Tipo de implantação | Você tem uma implantação altamente personalizada do Apache Cassandra com patches ou snitches personalizados. | Você tem uma implantação padrão de código aberto do Apache Cassandra sem qualquer código personalizado. | Você está contente com uma plataforma que não é Apache Cassandra por baixo, mas é compatível com todos os drivers de cliente de código aberto em um nível de protocolo de fio. |
Despesas gerais operacionais | Você tem especialistas Cassandra existentes 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 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. |
Apoio à Produção | Você mesmo lida com incidentes e interrupções em tempo real, incluindo o contato com equipes de infraestrutura relevantes para computação, rede, armazenamento, etc. | Você quer uma experiência de serviço gerenciado de primeira parte que atue como um balcão único para dar suporte a incidentes e interrupções ao vivo. | Você quer uma experiência de serviço gerenciado de primeira parte que atue como um balcão único para incidentes e interrupções ao vivo. |
Suporte de Software | Você lida com todos os patches e garante que o software seja atualizado antes do fim da vida útil. | Você quer uma experiência de serviço gerenciado de primeira parte que ofereça suporte ao nível de software Cassandra além do fim da ativa, patches automatizados e atualizações turnkey para versões principais | Você quer uma experiência de serviço gerenciado de primeira parte onde o suporte de nível de software é completamente abstrato. |
Requisitos do sistema operacional | Você tem um requisito para manter imagens personalizadas ou douradas do sistema operacional da Máquina Virtual. | Você pode usar imagens de baunilha, mas deseja ter controle sobre a seleção de SKUs, memória, discos e IOPS. | Você deseja que o provisionamento de capacidade seja simplificado e expresso como uma única métrica normalizada, com uma relação um-para-um com a taxa de transferência, como unidades de solicitação no Azure Cosmos DB. |
Modelo de preços | Você quer usar um software de gestão, como ferramentas Datastax e está satisfeito com os custos de licenciamento. | Você prefere o licenciamento puro de código aberto e os preços baseados em instâncias de VM. | Você deseja usar preços nativos da nuvem, que incluem dimensionamento automático e 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ê deseja análises transacionais híbridas quase em tempo real incorporadas à plataforma com o Azure Synapse Link for Azure Cosmos DB. |
Padrão de carga de trabalho | Sua carga de trabalho é bastante estável e você não precisa dimensionar nós no cluster com frequência. | Sua carga de trabalho é volátil e você precisa ser capaz de aumentar ou reduzir nós em um data center ou adicionar/remover data centers facilmente. | Sua carga de trabalho geralmente é volátil e você precisa ser capaz de aumentar ou reduzir rapidamente e em um volume significativo. |
SLAs | Você está satisfeito com seus processos de manutenção de SLAs em consistência, taxa de transferência, disponibilidade e recuperação de desastres. | Você está satisfeito com seus processos de manutenção de SLAs em consistência e taxa de transferência, mas quer um SLA para disponibilidade e precisa de ajuda com backups. | Você deseja SLAs totalmente abrangentes sobre consistência, taxa de transferência, disponibilidade e recuperação de desastres. |
Replicação e consistência | Você precisa ser capaz de configurar 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 ser capaz de configurar 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 de ONE (eventual) ou ALL (forte) é suficiente para todos os seus aplicativos (consulte também mapeamento de níveis de consistência Cassandra) |
Modelo de dados | Você está migrando cargas de trabalho que têm uma mistura de distribuição uniforme de dados e dados distorcidos (com relação ao armazenamento e à taxa de transferência entre chaves de partição) exigindo 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 (com relação ao armazenamento e à taxa de transferência entre chaves de partição) exigindo 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 entre chaves de partição. |