このプロジェクトについて

Turso Databaseは、MITライセンスの下でTursoチームによって開発された、Rustで実装されたSQLite互換のインプロセスSQLデータベースです。READMEでは、これは実稼働で使用されているエンジンであり、SQLiteと同様に、SQLをVDBEと呼ばれるVM用のバイトコードにコンパイルして実行する仮想マシンとしても機能すると説明されています。この設計により、1つのコアエンジンが複数のSQL方言をホストでき、SQLiteが主要なフロントエンドであり、PostgreSQLが独自の方言とワイヤープロトコルを持つ実験的なフロントエンドとして追加されています。このプロジェクトは、その野心を「データベースのLLVM」として位置づけており、1つのモダンなコアに多くのフロントエンドがコンパイルされています。 コア機能: - SQL方言、ファイルフォーマット、およびC APIレベルでのSQLite互換性。SQLiteバージョン3.50.4を追跡しており、COMPATドキュメントで残りの違いを追跡しています。既存のSQLiteデータベースファイルはそのまま動作します。 - マルチバージョン同時実行制御(MVCC)を使用した書き込みスループットを向上させるBEGIN CONCURRENT。 - データベースの変更をリアルタイムで追跡する変更データキャプチャ(CDC)。 - Go、JavaScript、Java、.NET、Python、Rust、およびWebAssemblyの言語バインディング。crates.io、npm、PyPI、Maven Central、およびGoモジュールからインストール可能。 - Linuxでのio_uringを使用した非同期I/O。 - Linux、macOS、Windows、およびWebAssemblyを介したブラウザのクロスプラットフォームサポート。 - 精密検索とベクトル操作を含むベクトルサポート。 - 拡張されたALTERサポートと高速なスキーマ変更による改善されたスキーマ管理。 実験的機能: - SQL方言とワイヤープロトコルにおけるPostgreSQL互換性。 - 静止時暗号化。 - 増分ビューメンテナンスとクエリサブスクリプションのためのDBSPを使用した増分計算。 - tantivyライブラリによって駆動される全文検索。 - .tshmサイドカーを介したマルチプロセスWAL調整。 - 近似検索のためのベクトルインデックスはロードマップにあります。 入門資料: - シェルインストーラースクリプトを介してインストールされるコマンドラインシェル(tursodb)。 - cargoを使用したソースからのビルド、およびmakeを介したDockerターゲット。 - Rust、JavaScript、Python、Go、.NET、およびJavaの短い例。JavaのJDBC統合が含まれています。 CLIには、AIアシスタントがデータベースと対話できるようにするModel Context Protocol(MCP)サーバーも埋め込まれており、--mcpフラグで起動します。READMEでは、open_database、current_database、list_tables、describe_table、execute_query、insert_data、update_data、delete_data、およびschema_changeの9つのツールが文書化されています。Claude Code、Claude Desktop、およびCursorの構成例、およびstdin/stdoutを介した直接のJSON-RPC使用法が提供されています。 信頼性とステータス: - READMEでは、Tursoはいくつかの組織で実稼働アプリケーションを支えており、ネイティブの決定論的シミュレーションテストスイートやAntithesisなどのツールでテストされていると述べています。ただし、プロジェクトはまだ1.0に達しておらず、一部の機能は明示的に実験的であるため、その時点までは独立したバックアップを推奨しています。また、Rustの書き直しが意図された方向性である一方で、両方が実稼働しているという、以前のlibSQLフォークとの違いも説明しています。リポジトリには、学術論文やプロジェクトパートナーもリストされており、MITライセンスの下で貢献を受け付けています。