Categoria

Bancos de Dados, Cache e Persistência

Read replicas: estratégias de consistência eventual
Bancos de Dados, Cache e Persistência

Read replicas: estratégias de consistência eventual

Read replicas são cópias assíncronas de um banco de dados primário, criadas para distribuir a carga de leitura e melhorar a escalabilidade horizontal. Na arquitetura típica, o primário processa todas as escritas e replica os dados para uma ou mais réplicas de forma assíncrona. Isso significa que as réplicas podem estar ligeiramente desatualizadas em relação ao primário — daí o termo "consistência eventual".

30/08/2024
Como usar explain analyze no PostgreSQL para entender planos de execução
Bancos de Dados, Cache e Persistência 21/08/2024

Como usar explain analyze no PostgreSQL para entender planos de execução

O PostgreSQL oferece duas ferramentas fundamentais para entender como suas consultas são executadas: EXPLAIN e EXPLAIN ANALYZE. A diferença crucial entre elas está no fato de que EXPLAIN mostra apenas o plano estimado pelo otimizador, enquanto EXPLAIN ANALYZE executa a consulta de fato e apresenta métricas reais de desempenho.

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

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.

Boas práticas de design de banco de dados para escalabilidade
Bancos de Dados, Cache e Persistência 12/07/2024

Boas práticas de design de banco de dados para escalabilidade

A escalabilidade vertical (scale-up) consiste em adicionar mais recursos a um único servidor — mais CPU, RAM ou armazenamento mais rápido. Embora simples de implementar, possui limites físicos e financeiros. A escalabilidade horizontal (scale-out) distribui a carga entre múltiplos servidores, permitindo crescimento quase ilimitado, mas exige design cuidadoso para lidar com consistência distribuída.

Polyglot persistence: usando o banco certo para cada problema
Bancos de Dados, Cache e Persistência 11/07/2024

Polyglot persistence: usando o banco certo para cada problema

Polyglot persistence é a prática de utilizar múltiplos sistemas de gerenciamento de banco de dados (SGBDs) em uma mesma aplicação, cada um escolhido para resolver um problema específico de armazenamento. O termo foi cunhado por Neal Ford e Martin Fowler, inspirado no conceito de polyglot programming (uso de múltiplas linguagens de programação em um mesmo sistema).

Como usar o Redis para cache de sessões em aplicações stateless
Bancos de Dados, Cache e Persistência 07/07/2024

Como usar o Redis para cache de sessões em aplicações stateless

Em aplicações web modernas, a escalabilidade horizontal é essencial. Quando múltiplas instâncias de uma aplicação são executadas atrás de um balanceador de carga, cada requisição pode cair em uma instância diferente. Se o estado da sessão for armazenado localmente na memória de uma instância específica, as requisições subsequentes perderão o contexto do usuário, resultando em falhas de autenticação e perda de dados temporários.

Drizzle ORM: a alternativa ao Prisma que está conquistando devs TypeScript
Bancos de Dados, Cache e Persistência 03/06/2024

Drizzle ORM: a alternativa ao Prisma que está conquistando devs TypeScript

O Prisma revolucionou o acesso a banco de dados no ecossistema Node.js com sua abordagem schema-first e ferramentas como o Prisma Studio. No entanto, à medida que projetos crescem, suas limitações se tornam evidentes: o prisma generate pode levar segundos a cada alteração no schema, a engine em Rust adiciona latência em cold starts e a abstração sobre SQL esconde detalhes importantes de performance. Para equipes que buscam controle fino sobre queries e inicialização rápida, essas características

Técnicas de otimização de banco de dados MySQL
Bancos de Dados, Cache e Persistência 31/05/2024

Técnicas de otimização de banco de dados MySQL

A otimização de banco de dados MySQL começa com a identificação precisa de gargalos. A ferramenta mais fundamental é o comando EXPLAIN, que revela o plano de execução das consultas.

SQL vs. NoSQL: guia para escolher o banco de dados ideal
Bancos de Dados, Cache e Persistência 09/05/2024

SQL vs. NoSQL: guia para escolher o banco de dados ideal

Os bancos de dados relacionais (SQL) dominaram o mercado por décadas desde sua criação nos anos 1970, com sistemas como Oracle, MySQL e PostgreSQL estabelecendo padrões robustos de gerenciamento de dados. A maturidade dessas soluções trouxe confiabilidade, transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade) e uma linguagem padronizada para consultas.

Como usar materialized views para acelerar queries analíticas
Bancos de Dados, Cache e Persistência 04/05/2024

Como usar materialized views para acelerar queries analíticas

Materialized views são objetos de banco de dados que armazenam fisicamente o resultado de uma consulta, diferentemente das views comuns, que são apenas definições virtuais executadas sob demanda. Enquanto uma view tradicional calcula os dados toda vez que é acessada, uma materialized view mantém os dados pré-computados em disco, permitindo acesso instantâneo a resultados agregados complexos.