12 điểm bởi xguru 2024-10-08 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Công cụ lưu trữ nhúng được xây dựng trên Log-Structured Merge-tree (LSM-tree)
  • Khác với các công cụ lưu trữ LSM-tree hiện có, SlateDB ghi dữ liệu vào object storage (S3, GCS, ABS, MinIO, Tigris, v.v.)
  • Tận dụng object storage để cung cấp dung lượng lưu trữ gần như vô hạn, độ bền cao và khả năng sao chép dễ dàng
  • Tuy nhiên, nhược điểm của object storage là độ trễ cao hơn đĩa cục bộ và phát sinh chi phí API

Chiến lược né tránh nhược điểm của SlateDB

  • Xử lý ghi theo lô để giảm chi phí API ghi (PUT) cao
    • Thay vì ghi mọi lệnh gọi put() vào object storage, MemTable sẽ được flush định kỳ thành Sorted String Table (SST) lên object storage
    • Có thể cấu hình khoảng thời gian flush
  • Cung cấp phương thức put bất đồng bộ để giảm cả độ trễ ghi
    • Client ưu tiên độ bền mạnh có thể await trong put cho đến khi MemTable được flush lên object storage (đánh đổi giữa độ trễ và độ bền)
    • Client ưu tiên độ trễ thấp có thể bỏ qua future được trả về từ put
  • Sử dụng các kỹ thuật cache LSM-tree tiêu chuẩn để giảm độ trễ đọc và chi phí API đọc (GET)
    • Block cache trong bộ nhớ, nén, Bloom filter, local SST disk cache

Chưa có bình luận nào.

Chưa có bình luận nào.