12 puntos por xguru 2024-10-08 | Aún no hay comentarios. | Compartir por WhatsApp
  • Motor de almacenamiento embebido construido con un árbol de mezcla estructurado por registros (Log-Structured Merge-tree)
  • A diferencia de los motores de almacenamiento LSM-tree tradicionales, SlateDB escribe los datos en object storage (S3, GCS, ABS, MinIO, Tigris, etc.)
  • Al aprovechar object storage, ofrece capacidad de almacenamiento prácticamente ilimitada, alta durabilidad y replicación sencilla
  • Sin embargo, object storage tiene la desventaja de una latencia más alta y costos de API mayores que un disco local

Estrategias de SlateDB para evitar esas desventajas

  • Procesa las escrituras por lotes para mitigar el alto costo de la API de escritura (PUT)
    • En lugar de escribir cada llamada a put() directamente en object storage, vacía periódicamente la MemTable a object storage como una tabla ordenada por cadenas (SST)
    • El intervalo de vaciado es configurable
  • Ofrece un método put asíncrono para reducir también la latencia de escritura
    • Los clientes que prefieren una durabilidad fuerte pueden hacer await en put hasta que la MemTable se vacíe en object storage (un equilibrio entre latencia y durabilidad)
    • Los clientes que prefieren baja latencia pueden ignorar el future devuelto por put
  • Usa técnicas estándar de caché de LSM-tree para mitigar la latencia de lectura y el costo de la API de lectura (GET)
    • Caché de bloques en memoria, compresión, filtros Bloom, caché local en disco para SST

Aún no hay comentarios.

Aún no hay comentarios.