SlateDB - mecanismo de armazenamento embarcado baseado em armazenamento de objetos
(github.com/slatedb)- Mecanismo de armazenamento embarcado construído com uma Log-Structured Merge-tree (LSM-tree)
- Diferente dos mecanismos de armazenamento LSM-tree tradicionais, o SlateDB grava os dados em armazenamento de objetos (S3, GCS, ABS, MinIO, Tigris etc.)
- Ao usar armazenamento de objetos, oferece capacidade de armazenamento ilimitada, alta durabilidade e replicação fácil
- Porém, a desvantagem é a latência mais alta e os custos de API em comparação com discos locais
Estratégias do SlateDB para evitar essas desvantagens
- Atenua o alto custo da API de escrita (PUT) processando gravações em lote
- Em vez de gravar cada chamada
put()no armazenamento de objetos, faz flush periódico da MemTable para uma Sorted String Table (SST) no armazenamento de objetos - O intervalo de flush é configurável
- Em vez de gravar cada chamada
- Também reduz a latência de escrita ao fornecer um método assíncrono
put- Clientes que preferem forte durabilidade podem usar
awaitnoputaté que a MemTable seja enviada ao armazenamento de objetos (trade-off entre latência e durabilidade) - Clientes que priorizam baixa latência podem ignorar o future retornado por
put
- Clientes que preferem forte durabilidade podem usar
- Atenua a latência de leitura e o custo da API de leitura (GET) usando técnicas padrão de cache de LSM-tree
- Cache de blocos em memória, compressão, filtro de Bloom e cache local em disco para SST
Ainda não há comentários.