HeadlinesBriefing HeadlinesBriefing.com

Evolução das transações ACID no Cassandra 6

Hacker News •
×

O Apache Cassandra evoluiu de um banco de dados NoSQL com consistência eventual para um sistema totalmente compatível com ACID em sua próxima versão 6.0. Essa jornada inclui os lotes atômicos introduzidos em 2013, as operações de comparação e troca (compare-and-swap) do Paxos em uma única partição mais tarde naquele ano, e agora transações estritamente serializáveis entre partições com o Accord na versão ainda não lançada do Cassandra 6.

Este artigo explora cada opção transacional usando um cluster de três nós com uma carga de trabalho contábil. A configuração envolve instalar o Java 21, compilar o Cassandra a partir do branch cassandra-6.0 e configurar três nós com endereços IP exclusivos e portas JMX.

O teste contábil usa duas contas com saldos iniciais de 1.000 cada, com gravadores concorrentes produzindo transferências entre as contas. A carga de trabalho testa quatro métodos transacionais: nenhum (padrão), atualizações BATCH, Transações Leves (LWT) e atualizações do Accord (ACID). São testadas variantes de leitura-modificação-gravação e gravação às cegas, além de cenários de transferência entre partições e na mesma partição.

Uma terceira thread lê continuamente e valida que a soma dos saldos permanece em 2.000 durante todas as operações concorrentes. O teste também verifica se os saldos finais das contas correspondem aos valores determinísticos esperados para cargas de trabalho de leitura-modificação-gravação.

Entidades-chave: Empresas: Apache, Cassandra | Pessoas: Phil Eaton

Fonte: Hacker News · Resumido por HeadlinesBriefing