Categoria

Bancos de Dados, Cache e Persistência

Manipulação de dados e consultas em MongoDB
Bancos de Dados, Cache e Persistência

Manipulação de dados e consultas em MongoDB

O MongoDB é um banco de dados NoSQL orientado a documentos que armazena dados em formato BSON (Binary JSON), diferentemente das tabelas relacionais tradicionais. Enquanto bancos relacionais organizam dados em linhas e colunas com esquemas rígidos, o MongoDB utiliza coleções que contêm documentos flexíveis, onde cada documento pode ter uma estrutura diferente.

05/05/2026
Graph databases: quando usar Neo4j em vez de bancos relacionais
Bancos de Dados, Cache e Persistência 05/05/2026

Graph databases: quando usar Neo4j em vez de bancos relacionais

Bancos relacionais organizam dados em tabelas com linhas e colunas, conectadas por chaves estrangeiras. Para obter informações relacionadas, é necessário executar operações de JOIN — que, em consultas complexas, tornam-se custosas e difíceis de manter. Por exemplo, para encontrar amigos de amigos em uma rede social, um banco relacional exige múltiplos JOINs recursivos.

Introdução ao Apache Cassandra: quando um banco wide-column faz sentido
Bancos de Dados, Cache e Persistência 05/05/2026

Introdução ao Apache Cassandra: quando um banco wide-column faz sentido

O Apache Cassandra é um banco de dados NoSQL do tipo wide-column, projetado para lidar com grandes volumes de dados distribuídos em múltiplos nós. Diferente dos bancos relacionais tradicionais, o Cassandra organiza dados em famílias de colunas (column families), onde cada linha pode ter um conjunto diferente de colunas — um conceito conhecido como tabelas esparsas.

Introdução ao CockroachDB: PostgreSQL distribuído sem ops complexo
Bancos de Dados, Cache e Persistência 05/05/2026

Introdução ao CockroachDB: PostgreSQL distribuído sem ops complexo

Bancos relacionais tradicionais como o PostgreSQL monólito enfrentam limitações severas quando o volume de dados e a taxa de requisições crescem além da capacidade de uma única máquina. O administrador precisa recorrer a soluções complexas: sharding manual (particionamento lógico da base em múltiplos servidores), replicação assíncrona com risco de perda de dados, ou soluções de clustering que exigem conhecimento profundo de infraestrutura.

Estratégias de schema registry para gerenciamento de contratos em event streaming
Bancos de Dados, Cache e Persistência 05/05/2026

Estratégias de schema registry para gerenciamento de contratos em event streaming

O Schema Registry atua como um repositório centralizado que armazena, valida e gerencia os schemas (contratos) utilizados em sistemas de event streaming. Em uma arquitetura orientada a eventos, produtores e consumidores precisam concordar sobre a estrutura dos dados trocados — o Schema Registry elimina o acoplamento direto ao fornecer um ponto único de verdade para esses contratos.

Estratégias de sharding de banco de dados
Bancos de Dados, Cache e Persistência 05/05/2026

Estratégias de sharding de banco de dados

Sharding é uma técnica de escalabilidade horizontal que consiste em particionar um banco de dados grande em fragmentos menores e independentes chamados shards. Diferentemente da fragmentação vertical, que separa colunas de uma tabela, o sharding fragmenta linhas horizontalmente, distribuindo registros entre múltiplos servidores.

Estratégias de vacuum e autovacuum no PostgreSQL em produção
Bancos de Dados, Cache e Persistência 05/05/2026

Estratégias de vacuum e autovacuum no PostgreSQL em produção

O mecanismo MVCC (Multi-Version Concurrency Control) do PostgreSQL é a base para o funcionamento do vacuum. Quando uma linha é atualizada ou excluída, o PostgreSQL não remove fisicamente os dados antigos — em vez disso, marca essas versões como "dead tuples" (tuplas mortas). Com o tempo, o acúmulo dessas tuplas mortas causa degradação de desempenho, aumento do uso de disco e bloat em índices.

Fundamentos de SQL para desenvolvedores
Bancos de Dados, Cache e Persistência 05/05/2026

Fundamentos de SQL para desenvolvedores

SQL (Structured Query Language) é a linguagem padrão para gerenciar e manipular bancos de dados relacionais. Para desenvolvedores, dominar SQL é essencial porque praticamente toda aplicação moderna precisa persistir dados de forma estruturada.