Tursoとは?SQLiteをRustで書き直す次世代の組み込みDBの全貌
← ブログ一覧
バックエンド5分

Tursoとは?SQLiteをRustで書き直す“次世代の組み込みDB”の全貌

  • #Turso
  • #SQLite
  • #Rust

こんにちは、LEXIAの齋藤です。

本記事は一次情報(Turso公式リポジトリおよびドキュメント)に基づき構成しています。Tursoは現在ベータ段階のため、機能や仕様は今後変更される可能性があります。

TursoとTurso Cloudの機能・成熟度比較(ベータ版とプロダクション版の全体像)

この記事でわかること

  • Tursoとは何か/SQLite・libSQLとの関係
  • なぜRustで書き直すのか(非同期I/O・安全性)
  • SQLiteとの違いと注目機能(並行書き込み・ベクトル検索ほか)
  • インストールと最小コード例
  • AIとの接点:MCPサーバーモード
  • 本番投入できるか(成熟度・ライセンス・注意点)

Tursoとは?SQLiteを“フォーク”ではなく“書き直す”

Tursoは「Rustで書かれた、SQLite互換のインプロセス(組み込み)SQLデータベース」です。アプリと同じプロセス内で動作し、サーバーを立てずに使える点はSQLiteと同じ思想を継いでいます。

決定的に異なるのは、TursoがSQLiteのコードをフォーク(改変)したものではなく、SQLiteをRustでゼロから書き直したプロジェクトだという点です。公式は「SQLiteの次の進化形をRustで作る、オープンな貢献を重視したプロジェクト」と位置づけています。

同チームはかつて、SQLiteをCのままフォークして拡張する「libSQL」を進めていました。しかしRustでの書き直しが想像以上にうまくいったため、現在はTursoがlibSQLに代わる本命の方向性とされています。

なぜRustなのか

Rustを選ぶ最大の動機は、Cでは難しかったアーキテクチャ上の自由度です。代表例がLinux上での io_uring を用いた非同期I/Oで、従来のSQLiteがスレッドに頼っていた並行処理のオーバーヘッドを削減できます。

これはサーバーレスやエッジのように「スレッドを増やしにくい・接続が大量に発生する」環境で特に効きます。加えてRustのメモリ安全性により、より積極的な最適化を安全に行える点も書き直しの理由です。

SQLiteとの違いと注目機能

TursoはSQLite互換を保ちながら、SQLiteの「単一ライター」という根本制約に踏み込む機能を追加しています。主なものは次の通りです。

機能

概要

BEGIN CONCURRENT

MVCC(多版型同時実行制御)による並行書き込みでスループットを改善

Change Data Capture(CDC)

データ変更をリアルタイムに追跡

ネイティブ・ベクトル検索

厳密検索やベクトル操作を標準サポート(埋め込み活用向け)

全文検索(FTS)

Tantivyライブラリを利用した全文検索

スキーマ管理の強化

ALTER対応の拡張など

保存時暗号化

Encryption at rest(実験的)

インクリメンタル計算

DBSPによる増分ビュー更新

使ってみる:インストールと最小例

CLIインストーラーで導入できます。

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

対話シェルは tursodb で起動します。SQLそのものはSQLiteと同じ感覚で書けます。

CREATE TABLE users (id INT, username TEXT);

INSERT INTO users VALUES (1, 'alice');

SELECT * FROM users;

JavaScript(Node.js)では @tursodatabase/database を使います。

import { connect } from '@tursodatabase/database';

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

const users = db.prepare('SELECT * FROM users').all();

このほかRust・Go・Python・Java・.NET・WebAssembly向けのバインディングが提供されています。

AIとの接点:MCPサーバーモード

Tursoは Model Context Protocol(MCP)サーバーモードを備えており、Claude CodeやClaude DesktopのようなAIアシスタントから直接データベースを操作できます。

「組み込みDB × AIエージェント」という組み合わせは、ローカルで完結するRAGや開発支援ツールとの相性がよく、これからのAIエージェント開発における強力な選択肢となるでしょう。

{{RELATED_ARTICLE:claude-code-overview-2025-10-14}}

本番で使える?成熟度と注意点

公式は「本ソフトウェアはベータであり、バグや想定外の挙動が残る可能性がある」と明記しています。一方で、Turso Cloud・Kin AIアシスタント・Spice.aiなど実運用での採用事例もあります。

品質面では、独自の決定的シミュレーションテスト(DST)やAntithesisなど多数のツールで広範にテストされており、目標として「SQLiteレベルの信頼性」を掲げています。

ライセンスはMITで商用採用のハードルが低い点も魅力です。最新版はv0.6.1(2026年5月時点)。新規プロジェクトでSQLite互換と現代的な並行性・ベクトル検索を両立したい場合は、評価する価値があります。

Turso Cloud管理ダッシュボードの概要(データベース管理と連携機能)

まとめ

Tursoは、SQLiteの“組み込みで手軽”という長所を保ちつつ、並行書き込み・非同期I/O・ベクトル検索といった現代的な要求に応える「SQLiteの書き直し」プロジェクトです。

ベータゆえにミッションクリティカル用途は慎重に判断すべきですが、活発な開発と実運用事例、MITライセンス、AI連携(MCP)まで含めて、今後の本命として注目に値します。

参考リンク

まずは、やりたいことを聞かせてください

「何から手をつければいいか分からない」段階でも大丈夫です。 ご相談・お見積りは無料。碧南近郊なら直接伺います。