Unlike traditional LSM-tree storage engines, SlateDB writes data to object storage to provide bottomless storage capacity, high durability, and easy replication. SlateDB is an embedded storage engine built as a log-structured merge-tree. Unlike traditional LSM-tree storage engines, SlateDB writes data to object storage (S3, GCS, ABS, MinIO, Tigris, and so on). Leveraging object storage allows SlateDB to provide bottomless storage capacity, high durability, and easy replication. The trade-off is that object storage has a higher latency and higher API cost than local disk. To mitigate high write API costs (PUTs), SlateDB batches writes. Rather than writing every put() call to object storage, MemTables are flushed periodically to object storage as a string-sorted table (SST). The flush interval is configurable. To mitigate write latency, SlateDB provides an async put method.
Features
- SlateDB inherits your object store's durability. Yup, 99.999999999% durability
- SlateDB runs without disks. No more disk failures, no more disk corruption
- Configure SlateDB to optimize for low latency, low cost, or high durability
- Supports a single writer and multiple readers. SlateDB detects and fences zombie writers
- SlateDB is an embeddable library built in Rust. Use SlateDB with the language of your choice
- Documentation available