OSS探訪

S3などのobject storageを永続層にするcloud-nativeな組み込みLSM storage engine

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
3,455
主要言語
Rust
ライセンス
Apache-2.0
リポジトリ最終更新
2026/09/29
ページ内ナビ

概要

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]

transaction・clone・CDC・split/mergeまで提供する

基本的なget/put/deleteやrange scanに加え、transaction、merge operator、clone、change data capture、database split/mergeなどを実装しています。

出典:[2][3]

向いている用途

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. [1]slatedb/slatedb repository(2026-10-01)
  2. [2]SlateDB README(2026-10-01)
  3. [3]SlateDB v0.17.0 release(2026-10-01)
  4. [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. 1

    Rustプロジェクトを作成

    SlateDBを試すための最小Rust applicationを作成します。

    cargo new slatedb-demo && cd slatedb-demo
  2. 2

    SlateDB 0.17.0とTokioを追加

    最新安定版v0.17.0とasync runtimeをdependencyへ追加します。

    cargo add slatedb@0.17.0 && cargo add tokio --features full
  3. 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
公式READMEで確認

成長

成長の推移 · 直近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で投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?