the arithmetic set engine

Conjuntos. Em microssegundos.
Em qualquer chip.

O SetrixDB é o motor de conjuntos em memória, exato e vetorizado, que trabalha ao lado do seu banco. Ele responde presença e interseção sobre bilhões de IDs — rápido, sem payload e sem dependências.

Não é “mais um banco”. É o motor de conjuntos que faltava.

Relacional, colunar, NoSQL e vetorial têm o seu papel — e continuam sendo ótimos no que fazem. O SetrixDB não substitui nenhum deles: ele preenche um espaço que todos deixaram em aberto — álgebra exata de conjuntos.

Exato, não aproximado

O oposto de busca por similaridade. Onde “parecido” não basta, a resposta precisa ser certa.

Feito para o hardware de hoje

SIMD largo (AVX-512/AVX10) e NPUs — não disco. Com fallback portátil para qualquer CPU.

Memória ∝ dados

Modo híbrido (quente denso + cauda esparsa): o consumo segue os dados, não o universo.

Números reais (não promessa)

Medidos em hardware comum, com artefatos reproduzíveis e verificação independente.

~24–30×mais rápido que a implementação de bitmap de referência da indústria
~118 nslookup de ID (0 colisão) em 50 mi de chaves
1,73 MBonde o bitset denso pediria 8,59 GB (universo 2³⁶)
823 µsfiltro facetado (3 conjuntos) em dados reais de varejo

Ambiente de referência: servidor 2 vCPU (Zen4, AVX-512), Go 1.22. Resultados reproduzíveis com go test ./... e os comandos de benchmark do repositório.

Como funciona

Toda a “inteligência” da busca reduz-se a aritmética de inteiros, vetorizada.

1
ID único (MPHF)perfect hash próprio: 0 colisão, ~4 bits/chave, lookup O(1).
2
Representaçãobitset denso, conjunto esparso ou híbrido; shard contíguo em RAM, entregue por zero-copy.
3
Kernel vetorizadoAVX-512 (vpandq + vpopcntq) com dispatch em runtime e fallback escalar.
4
Escalashards distribuídos por consistent hash ring; consulta em broadcast zero-copy e modo “conjuntos armazenados”.

Onde isso muda o jogo

E-commerce e busca

Filtros facetados, deduplicação de catálogo e geração de candidatos — em microssegundos.

Pesquisa médica e saúde

Seleção de coortes (N critérios ao mesmo tempo), triagem exata — rodando no hospital.

Segurança e antifraude

Listas de bloqueio, correlação de sinais e políticas de acesso — exato e instantâneo.

IA na borda

Recuperação exata de candidatos e deduplicação para pipelines de IA — o par exato dos vetoriais.

Infra e redes

Tabelas de rotas, VPCs e políticas L4 — o tipo de dado que sustenta plataformas de nuvem.

Ciência e telecom

Filtragem de bilhões de eventos e correlação de telemetria onde cada consulta é uma interseção.

Interfaces

Embarcável em qualquer stack — do script ao serviço.

Library Go CLI C ABI (C/C++/Rust/Python) Servidor HTTP/JSON Persistência de conjuntos
# CLI: filtro facetado sobre conjuntos
setrixdb build -o vermelho.sxset -input vermelho.txt
setrixdb intersect vermelho.sxset tam_M.sxset marca.sxset --bench 500

# Go
res := setrixdb.Intersect(a, b)
res.Len()

Open source · Apache-2.0

Acreditamos que adoção vem antes de império: benchmarks reproduzíveis e código aberto (licença Apache-2.0).

github.com/setrixdb/setrixdb