12 pontos por xguru 2024-10-08 | Ainda não há comentários. | Compartilhar no WhatsApp
  • 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
  • Também reduz a latência de escrita ao fornecer um método assíncrono put
    • Clientes que preferem forte durabilidade podem usar await no put até 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
  • 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.

Ainda não há comentários.