ページ内ナビ
概要
SlateDBはlog-structured merge-treeを実装する組み込みstorage engineで、local diskではなくS3、GCS、Azure Blob Storage、MinIOなどのobject storageへSSTとmetadataを保存します。Rustを中心にGo・Java・Node.js・Pythonなどのbindingも提供しています。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
object storageをdurable storageとして使う
S3互換を含むObjectStore trait実装を利用し、容量拡張やdurability、replicationをobject storage側へ委ねる設計です。
出典:[2]
MemTable・SST・cacheでobject storageのcostを抑える
putごとのremote writeを避けてbatchし、MemTableをSSTとしてflushします。read側ではin-memory block cache、compression、Bloom filter、local SST disk cacheを使ってGET latencyとAPI costを抑えます。
出典:[2]
向いている用途
cloud object storageを前提に組み込みKV layerを作りたいシステムに向く
大量dataをlocal diskへ抱えず、application processへ組み込むstorage engineのdurable layerをobject storageへ寄せたいdatabase・streaming・stateful serviceの候補になります。
出典:[2]
導入前の確認
object storageの高latencyとAPI costを前提に設計する
READMEはlocal diskよりobject storageのlatencyとAPI costが高いことを明記しています。workloadのread/write pattern、flush interval、cache容量を含めてcostと性能を評価します。
出典:[2]
API互換性は現時点で保証されていない
release scheduleではstorage formatの隣接version間互換性を保証する一方、compile-time API compatibilityは現時点で保証しないとしています。library upgrade時はbreaking changeを確認します。
出典:[2]
productionではInMemoryではなく実object storeとdurability待機を使う
READMEの最小例はInMemory object storeです。実運用では対象cloudのObjectStoreを設定し、必要に応じてWriteHandle.await_durable()やflush()でdurability boundaryを明示します。
出典:[2]
参考にした公式資料
- [1]slatedb/slatedb repository(2026-10-01)
- [2]SlateDB README(2026-10-01)
- [3]SlateDB v0.17.0 release(2026-10-01)
- [4]SlateDB Apache-2.0 license(2026-10-01)
編集部からの補足
ローカルdisk前提のRocksDB系とは異なり、S3/GCS/ABS/MinIOなどを永続層として使う組み込みstorage engineです。object storageの高latencyとAPI costをbatch・cacheで吸収する設計なので、local DBの置き換えとしてではなくcloud object storage前提のworkloadで評価するのが適しています。
3ステップで試す
- 1
Rustプロジェクトを作成
SlateDBを試すための最小Rust applicationを作成します。
cargo new slatedb-demo && cd slatedb-demo - 2
SlateDB 0.17.0とTokioを追加
最新安定版v0.17.0とasync runtimeをdependencyへ追加します。
cargo add slatedb@0.17.0 && cargo add tokio --features full - 3
InMemory ObjectStoreでput/getを試す
READMEと同じInMemory ObjectStoreで最小のput/getを実行します。本番評価ではS3/GCS/MinIOなど実object storeへ置き換えます。
cat > src/main.rs <<'RS' use slatedb::{Db, Error}; use slatedb::object_store::{ObjectStore, memory::InMemory}; use std::sync::Arc; #[tokio::main] async fn main() -> Result<(), Error> { let store: Arc<dyn ObjectStore> = Arc::new(InMemory::new()); let db = Db::open("/demo", store).await?; db.put(b"hello", b"slatedb").await?; println!("{:?}", db.get(b"hello").await?); db.close().await?; Ok(()) } RS cargo run
成長
成長の推移 · 直近30日
3,455 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- database
- embedded-database
- lsm-tree
- object-storage
- rocksdb
- rust
- storage-engine
- Stars
- 3,455
- Forks
- 306
- Watchers
- 28
- Open Issues
- 202
- 所有者種別
- Organization
- 主要言語
- Rust
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/09/29
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Garage4,602 Stars
共通タグ 2件 · 共通カテゴリ 2件 · 同じ言語
小〜中規模self-host向けに複数拠点へ複製できるS3互換分散object storage
Rust - Turso Database24,457 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
SQLite互換のSQLをRust製エンジンで実行し、複数言語から組み込めるデータベース
Rust - FalkorDB6,348 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
GraphRAG向けknowledge graphをsparse matrixで高速にqueryする
Rust - MariaDB Server8,301 Stars
共通タグ 2件 · 共通カテゴリ 1件
MySQL protocol互換・複数storage engine・replication・native vector searchを備えるSQL database
C++ - Tabularis5,084 Stars
共通タグ 2件 · 共通カテゴリ 1件
SQL editor・notebook・database plugin・MCPを一つのdesktop workspaceへまとめる
TypeScript - Vector22,643 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
Source→Transform→Sinkでlogs・metrics・OTLP dataを収集・加工・複数vendorへ配送するRust observability pipeline
Rust
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。