Aerospike
Cenários de utilização
Mapeie casos de uso reais do Aerospike em publicidade, telecom, e-commerce e fraud detection, com critérios de decisão arquitetural.
Nesta aula você vai
- Identificar workloads ideais para Aerospike versus Redis ou banco relacional
- Analisar casos de uso em indústrias de alta exigência de latência
- Aplicar critérios objetivos para decidir adoção em novos projetos
Cenários de utilização
Objetivos
Nesta aula você vai:
- Conhecer indústrias e workloads onde o Aerospike é escolha recorrente
- Aplicar uma matriz de decisão para comparar Aerospike com alternativas
- Reconhecer anti-padrões — situações em que outra ferramenta serve melhor
Conteúdo
Tecnologia como personagem, não como cenário
Em toda narrativa de arquitetura de software, a ferramenta deve servir ao enredo — nunca o contrário. O Aerospike entra em cena quando o roteiro exige milhões de decisões por segundo, latência previsível na cauda (P99) e dados que não podem desaparecer com um restart. Vamos examinar os atos em que esse personagem brilha — e aqueles em que deve permanecer nos bastidores.
Publicidade programática: o leilão de milissegundos
No Real-Time Bidding (RTB), quando uma página carrega, dezenas de anunciantes competem em um leilão que dura menos de 100 ms. O sistema precisa:
- Identificar o usuário (perfil armazenado)
- Aplicar regras de segmentação e frequência
- Calcular lances de múltiplos anunciantes
- Retornar o vencedor — tudo antes que o banner renderize
| Requisito | Por que Aerospike |
|---|---|
| Milhões de leituras/segundo | Índice em RAM, cluster horizontal |
| Perfis com centenas de atributos | Bins flexíveis por registro |
| Durabilidade entre campanhas | Persistência SSD nativa |
| P99 < 5 ms | Arquitetura híbrida otimizada |
Um perfil típico pode ter dezenas de bins: segmentos, impressoes_hoje, ultimo_clique, geo, dispositivo. O acesso é sempre por chave (user_id), nunca por JOIN.
Telecomunicações: o assinante sempre conectado
Operadoras de telecom mantêm perfis de assinante consultados a cada chamada, SMS ou pacote de dados. Políticas de roaming, limites de franquia e planos promocionais precisam estar disponíveis em microssegundos nos equipamentos de rede.
O Aerospike aparece como subscriber datastore — substituindo ou complementando bancos legados que não escalam horizontalmente. A replicação síncrona garante que a troca de nó não interrompa chamadas em andamento.
E-commerce: inventário e sessão em tempo real
Considere um marketplace com flash sales:
Usuário clica "Comprar" → Verifica estoque (Aerospike) →
Reserva unidade (operação atômica) → Confirma no PostgreSQL
| Camada | Tecnologia | Papel |
|---|---|---|
| Estoque em tempo real | Aerospike | Decremento atômico, latência < 2 ms |
| Pedido confirmado | PostgreSQL | Fonte de verdade, ACID, relatórios |
| Cache de catálogo | Redis | Cache-aside de produtos populares |
O Aerospike não substitui o banco relacional aqui — complementa onde a velocidade operacional é crítica. Redis continua excelente para cache de leitura com TTL; Aerospike entra quando a escrita frequente e a durabilidade são simultaneamente exigidas.
Fraud detection: o guardião silencioso
Sistemas antifraude avaliam cada transação em tempo real: histórico recente do cartão, padrões de geolocalização, velocity checks (quantas compras nos últimos 5 minutos). O Aerospike armazena janelas deslizantes de eventos por entidade:
namespace: antifraud
set: cartoes
key: card-4111-xxxx-1234
bins:
tentativas_5min: 3
ultimo_pais: "BR"
score_atual: 0.72
eventos: [lista dos últimos 20 eventos]
A latência P99 importa mais que a média: uma transação legítima bloqueada por timeout custa conversão; uma fraudulenta aprovada custa dinheiro.
Matriz de decisão: Aerospike ou alternativa?
Use esta tabela como bússola arquitetural:
| Critério | Aerospike | Redis | PostgreSQL |
|---|---|---|---|
| Acesso por chave em escala | ★★★★★ | ★★★★ | ★★ |
| Durabilidade nativa em TB | ★★★★★ | ★★★ | ★★★★★ |
| Estruturas ricas (listas, sets, streams) | ★★ | ★★★★★ | ★★★ |
| Queries analíticas / JOINs | ★ | ★ | ★★★★★ |
| Escala horizontal automática | ★★★★★ | ★★★ | ★★ |
| Custo operacional (pequena escala) | ★★ | ★★★★★ | ★★★★ |
| Latência P50 sub-ms | ★★★★ | ★★★★★ | ★★ |
Anti-padrões: quando NÃO usar Aerospike
- Relatórios e BI — use data warehouse (BigQuery, Redshift, ClickHouse)
- Dados com relacionamentos complexos — PostgreSQL ou banco de grafos
- Filas de mensagens duráveis — Kafka, RabbitMQ ou Redis Streams
- Projetos pequenos (< 10 GB, < 10k ops/s) — Redis ou até PostgreSQL com cache bastam
- Equipe sem experiência em operações distribuídas — a curva de aprendizado é real
Coexistência no ecossistema
Arquiteturas maduras raramente escolhem "um banco para governar todos". Um padrão comum:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Redis │ │ Aerospike │ │ PostgreSQL │
│ Cache-aside │ │ Dados │ │ Fonte de │
│ (leitura) │ │ operacionais│ │ verdade │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
└────────────────────┴────────────────────┘
Aplicação
- Redis — cache efêmero, pub/sub, estruturas ricas, rate limiting
- Aerospike — perfis, inventário, sessões duráveis, feature stores
- PostgreSQL — pedidos, faturamento, dados regulatórios
Exercício mental: diagnóstico de cenário
Para cada caso, qual ferramenta você escolheria e por quê?
| Cenário | Sua escolha | Justificativa esperada |
|---|---|---|
| Rate limiting por IP (10k req/s) | Redis | Estruturas nativas (INCR + EXPIRE), baixa latência, dados efêmeros |
| Perfil de 200M usuários com 50 atributos | Aerospike | Escala horizontal, bins flexíveis, SSD |
| Relatório mensal de vendas por região | PostgreSQL | JOINs, agregações, consistência |
| Cache de página de produto (TTL 5 min) | Redis | Cache-aside simples, invalidação por TTL |
Métricas de sucesso em produção
Ao implantar Aerospike (ou qualquer cache de baixa latência), defina SLAs mensuráveis:
| Métrica | Alvo | Ferramenta de medição |
|---|---|---|
| Latência P99 de leitura | < 5 ms | Prometheus + exporter Aerospike |
| Disponibilidade do cluster | 99,99% | Monitoramento de nós e partições |
| Taxa de erro de escrita | < 0,01% | Logs de aplicação + métricas server |
| Tempo de rebalanceamento | < 30 s | asinfo -v "cluster-stable" |
Resumo
- Aerospike domina em workloads de chave-valor em escala com exigência de durabilidade e baixa latência
- Indústrias como publicidade, telecom, e-commerce e antifraude são casos clássicos
- Coexiste com Redis (cache efêmero) e PostgreSQL (fonte de verdade) — não substitui tudo
- Evite Aerospike para analytics, JOINs complexos e projetos de pequena escala
Para refletir
"A ferramenta certa não é a mais rápida — é a que resolve o problema certo no tempo certo, com o custo certo."
Desenhe mentalmente a arquitetura de dados de um app de delivery: o que viveria no Aerospike, no Redis e no PostgreSQL?