murrdb/murr - cache submilissegundo para workloads de ML/AI
(github.com/murrdb)- Cache baseado em RocksDB com NVMe/S3 voltado para workloads de inferência de IA, podendo substituir o Redis
- Otimizado para leitura e escrita zero-copy de baixa latência no estilo de processamento em lote
- Camada de serving de dados posicionada entre pipelines de dados em lote e apps de inferência, com entrada Parquet e saída Arrow-Flight
- Armazenamento em camadas (tiered storage) com dados quentes na memória, dados frios em disco e replicação baseada em S3
- Opera com entrada em lote e saída em lote sobre armazenamento colunar, sem overhead por linha, permitindo enviar arquivos Parquet/Arrow de 1GB diretamente para a Ingestion API
- Com protocolo wire zero-copy, é possível montar
np.ndarray/pd.DataFrame/pt.Tensornas respostas da API sem conversão - Arquitetura stateless, preservando todo o estado no S3 e fazendo bootstrap por conta própria a partir do armazenamento em bloco, permitindo recuperação mesmo quando um nó é removido
- Suporte Python de primeira classe com mapeamento zero-copy para arrays de Numpy/Pandas/Polars/Pytorch; em Sparse columns, colunas sem dados ocupam 0 byte
- Casos em que o Murr é adequado
- Quando os dados são pesados e tabulares, como grandes dumps Parquet sobre S3
- Quando as leituras acontecem em lote: por exemplo, buscar 100 colunas em 1000 documentos
- Em cenários com foco em custo, o offloading para disco/S3 pode ser mais simples e barato de operar do que um Redis com muita memória
- Pontos fortes frente a tecnologias concorrentes
- Em relação ao Redis: oferece persistência baseada em S3 e permite descarregar dados frios para NVMe local
- Em relação ao RocksDB embarcado: não é preciso construir manualmente a sincronização de dados entre produtores e nós de inferência; ele já foi projetado como distribuído desde o início
- Em relação ao DynamoDB: cobra apenas por CPU/RAM, não por consulta, sendo cerca de 10x mais barato
- Em benchmarks, a leitura de packed-blob é cerca de 3x mais rápida que no Redis, e cerca de 12x mais rápida que no estilo Feast HSET, usando aproximadamente 3x menos RAM que HSET
- Como não é um banco de dados de uso geral, a recomendação é usar Postgres para OLTP, Clickhouse/BigQuery/Snowflake para análise e Redis para cache genérico
- Licença Apache 2.0
Ainda não há comentários.