OSS探訪

SQLite互換のSQLをRust製エンジンで実行し、複数言語から組み込めるデータベース

スコアの見方

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

Stars
24,451
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/09/30
ページ内ナビ

概要

Turso Databaseは、Rustで実装されたin-process SQLデータベースです。SQLite互換のSQL・ファイル形式・C APIを主軸にしながら、MVCCによるBEGIN CONCURRENT、CDC、vector操作、複数言語bindingを提供し、Postgres dialect/wire protocolも実験的frontendとして開発しています。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

SQLite互換を軸にRust製SQLエンジンをアプリへ組み込む

SQLiteのSQL dialect、file format、C APIとの互換性を追跡しつつ、Rust・JavaScript・Python・Go・Java・.NET・WebAssemblyなど複数のbindingから利用できます。

出典:[2]

MVCC・CDC・vectorなどSQLiteの外側へ機能を拡張する

BEGIN CONCURRENTによるwrite throughput改善、change data capture、vector操作、schema管理の拡張などをロードマップと実装機能として進めています。

出典:[2]

向いている用途

SQLite互換の埋め込みDBをRust中心の新しい実装で試したい場合に向く

既存SQLite fileを活かしながら、新しいconcurrency・async I/O・多言語bindingなどを評価したいアプリやローカルDB用途に向きます。

出典:[2]

導入前の確認

1.0前で、実験機能をstable機能と分けて扱う

READMEは本番利用例がある一方で未到達の1.0へ向けて開発中であることを明記しています。Postgres互換、encryption at rest、incremental computation、full-text searchなどは実験機能として列挙されています。

出典:[2]

SQLite互換は100%ではなく、独立backupも前提にする

SQLite互換性にはまだ差分があり、詳細はCOMPAT.mdで追跡されています。また1.0前のdatabaseとして独立backupを維持する運用がREADMEで推奨されています。

出典:[2]

参考にした公式資料

  1. [1]tursodatabase/turso repository(2026-09-30)
  2. [2]Turso Database README(2026-09-30)
  3. [3]Turso v0.8.1 release(2026-09-30)
  4. [4]Turso Database MIT license(2026-09-30)
編集部からの補足

SQLite互換を保ちながらRust製coreでconcurrencyやmulti-language bindingを拡張している点が特徴です。一方で1.0前で互換性差分と実験機能があるため、採用範囲を分け、独立backupを前提に評価するのが安全です。

3ステップで試す

  1. 1

    JavaScript bindingを追加

    公式READMEのJavaScript例で使われているbinding packageを既存projectへ追加します。

    npm i @tursodatabase/database
  2. 2

    local databaseへ接続

    import { connect } from '@tursodatabase/database'; の後でSQLite-compatibleなlocal database fileへ接続します。

    const db = await connect('sqlite.db');
  3. 3

    queryを実行して結果を取得

    prepared statementを作成してqueryを実行し、row一覧を取得できることを確認します。

    const stmt = db.prepare('SELECT * FROM users'); const users = stmt.all();
公式READMEで確認

成長

成長の推移 · 直近30日

24,451 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
990
Open PR
166

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • database
  • embedded-database
  • sql
  • sqlite3
  • webassembly
Stars
24,451
Forks
1,378
Watchers
102
Open Issues
887
Contributors
310
所有者種別
Organization
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/09/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

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

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