CEVIU Logo
Voltar
Armazenamento de Colunas Largas: Cassandra, Bigtable e ScyllaDB Detalhados

Armazenamento em Colunas Largas: Entenda Cassandra, Bigtable e ScyllaDB

Aprofundamento CEVIU

Aprofundamento

Sistemas de armazenamento em colunas largas, como Cassandra, Bigtable e ScyllaDB, são projetados para cargas de trabalho de alto volume de escrita e leituras previsíveis, características de 'firehose workloads'. A arquitetura se baseia em uma abordagem NoSQL onde cada linha pode ter um esquema flexível de colunas, diferindo da rigidez dos bancos de dados relacionais. A principal característica é o uso de uma chave de partição para distribuir os dados entre os nós do cluster, garantindo escalabilidade horizontal. Dentro de cada partição, uma chave de agrupamento (clustering key) define a ordenação física das linhas em disco, permitindo buscas eficientes por fatias contíguas de dados.

Para otimizar o processamento de grandes volumes de escrita, esses sistemas empregam estruturas como o LSM tree (Log-Structured Merge Tree). As escritas são inicialmente gravadas em um log de commit e em uma memtable em memória, que depois são descarregadas para arquivos SSTables imutáveis no disco. Este design transforma escritas aleatórias em operações sequenciais, maximizando o throughput de escrita. Em contraste, as leituras podem ser mais complexas, exigindo a junção de dados da memtable e de múltiplos SSTables, processo auxiliado por filtros de Bloom e compactação para manter a performance. A modelagem de dados nestes sistemas é orientada às consultas, ou seja, as tabelas são criadas para atender padrões de leitura específicos, muitas vezes implicando em desnormalização, como já abordamos em nossa matéria sobre Uma taxonomia para arquiteturas de storage/workload de 25 de junho de 2026.

Por que isso importa

A adoção de armazenamento em colunas largas é uma decisão estratégica para empresas com volumes massivos de dados que precisam de alta disponibilidade e baixa latência para tipos específicos de consulta. Empresas como Netflix, Discord e Google utilizam essas tecnologias para cenários onde a escalabilidade linear e a resiliência são críticas, como histórico de visualização, mensagens em tempo real e indexação de busca. Entender essa arquitetura permite aos engenheiros de dados e arquitetos de sistemas projetar soluções que realmente atendam às demandas de performance e escala, evitando os gargalos que bancos de dados relacionais enfrentariam sob cargas extremas, e fazendo escolhas de tecnologia mais assertivas para cada tipo de workload, sejam eles OLTP, OLAP, HTAP ou LTAP.

Linha do tempo

  1. Apache Arrow Flight: a infraestrutura de alta performance para mover dados em escala

  2. Por dentro do query engine do QuestDB: tracing de três queries

  3. No PostgreSQL, exclusão em larga escala só escala com DROP TABLE, não com DELETE

  4. Uma taxonomia para arquiteturas de storage/workload

  5. Como funciona o armazenamento colunar em disco do VictoriaLogs

  6. Aurora DSQL: OLTP Multi-Região Ativo-Ativo com Compatibilidade PostgreSQL e Consistência Forte

  7. Armazenamento em Colunas Largas: Entenda Cassandra, Bigtable e ScyllaDB

Perguntas frequentes

O que diferencia um sistema de colunas largas de um banco de dados relacional?

Um sistema de colunas largas, como Cassandra, oferece um esquema flexível, onde cada linha pode ter um conjunto diferente de colunas. Ao contrário dos bancos relacionais, ele não suporta joins complexos nem transações multi-partição, otimizando-se para escalabilidade horizontal e escritas de alto volume com leituras baseadas em chave de partição.

Como a modelagem de dados é feita em um sistema de colunas largas?

A modelagem de dados é focada nos padrões de consulta que o sistema precisará executar. Isso significa que, em vez de normalizar os dados como em um banco relacional, você pode desnormalizá-los e criar múltiplas tabelas, cada uma otimizada para uma consulta específica. A chave de partição e a chave de agrupamento são cruciais para a performance de leitura.

Qual a diferença entre um banco de dados de colunas largas e um banco de dados colunar (columnar)?

Apesar dos nomes similares, são conceitos distintos. Bancos de colunas largas (wide column) são orientados a linhas, agrupando-as em partições com esquema flexível, para cargas OLTP. Já bancos colunares (columnar), como discutido na matéria sobre Como funciona o armazenamento colunar em disco do VictoriaLogs de 29 de junho de 2026, armazenam os valores de uma mesma coluna juntos fisicamente, otimizados para análises OLAP.

Por que sistemas de colunas largas são eficientes para escritas de alto volume?

A eficiência vem do uso do LSM tree. Novas escritas são adicionadas a uma memtable em memória e a um log de commit, sendo posteriormente descarregadas para SSTables imutáveis no disco. Esse processo transforma escritas aleatórias em sequenciais, o que é muito mais rápido para o hardware de armazenamento.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Dados
Publicado
30 de julho de 2026
Editoria
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser
Armazenamento em Colunas Largas: Entenda Cassandra,