Uma base física de alto desempenho
Este documento define a implementação física do banco de dados da K10AI.
Stack de dados
Banco principal e componentes complementares.
PostgreSQL 16+
Banco de dados principal
Redis
Cache e filas
pgvector
Banco vetorial no PostgreSQL
S3-compatible
Armazenamento de objetos
Padrões de nomenclatura
Tabelas
Sempre no pluralColunas
Sempre em snake_caseChaves Primárias
Sempre UUIDDatas
Sempre com timezonePadrão de Todas as Tabelas
Toda tabela possui obrigatoriamente:
Schemas (Separação Lógica)
Facilita manutenção e permissões:
Entidades por schema
Toda tabela herda o padrão base. Abaixo, as tabelas de cada domínio.
AUTH
CORE
PROJECTS
PRODUCTS
AI
WORKFLOWS
MARKETPLACE
BILLING
ANALYTICS
AUDIT
Tipos de Dados
Uso de JSONB
Utilizado apenas quando faz sentido — nunca substitui tabelas relacionais sem justificativa.
Performance de consultas
Obrigatórios
Compostos
Especiais
Particionamento, views e automações
Particionamento (Mensal)
Tabelas grandes suportam particionamento:
Materialized Views
Views
Triggers Obrigatórias
Stored Procedures
Row Level Security (RLS)
Todas as tabelas multi-tenant utilizam políticas de RLS. Um usuário da Organização A nunca acessa dados da Organização B — mesmo em consultas diretas. Operações críticas usam transações ACID.
Otimização
Cache (Redis)
Tabela embeddings
Suporte nativo à IA com pgvector.
Campos
Utilizada para
Confiabilidade e continuidade
Retenção
Políticas configuráveis para:
Monitoramento
Backup
Replicação
Escalabilidade
Preparado para:
Migrações Versionadas
Nunca alterar a estrutura manualmente. Cada migração possui número, descrição, rollback e validação.
Convenções SQL
Preparado para o futuro
Quando o banco está pronto
A base física só é considerada concluída quando todos os critérios abaixo forem atendidos.