Sqlite3 WebAssembly
(sqlite.org)- sqlite3をモダンなWASM対応ブラウザで利用できるようにする
- 初期の公開ベータはバージョン3.40で始まり、コミュニティのフィードバックに基づいて3.41リリースでAPIを安定化する予定
実際のユースケース
- SQLime、Evolu、SQLiteNext などさまざまなプロジェクトで使用中
- 関連プロジェクトには、Alon Zakaiの sql.js、Roy Hashimotoの wa-sqlite、James Longの absurd-js などがある
GN⁺のまとめ
- sqlite3 WASM と JavaScript API は、Webブラウザで sqlite3 データベースを利用できるようにする重要なプロジェクト
- さまざまなクライアントコードのレシピとAPI変更点を提供し、開発者に有用な情報を提供する
- 関連プロジェクトとの比較を通じて、このプロジェクトの独自性と有用性を理解できる
- 類似機能を持つプロジェクトとして、sql.js、wa-sqlite などが推奨される
1件のコメント
Hacker Newsの意見
SQLiteをブラウザ内メモリで実行し、LitestreamとCloudflare Durable Objectsの手法を使ってWALログをサーバーへストリーミングするというアイデアが興味深い
SQLiteの最近のリリースは3.46.1だが、ページが更新されておらず、APIの安定性について混乱がある
個人的にはPyodideのSQLite-in-WASM版を好む
ローカルファースト環境でSQLiteを使うのは重く感じられる
Golangではncrucesのwasm SQLiteパッケージが良い
RustエコシステムでSQLiteを使おうとしたが、現状では対応するラッパーが不足している
SQLiteがIndexedDBの代替になり得るのか気になる
最小構成でのSQLite WASMの依存サイズは約1.3MB
WebSQLがSQLiteであったなら、オフラインファーストや一般的なアプリストレージのエコシステムはもっと良くなっていたはずだという意見がある
WASMビルドのSQLiteとChicoryランタイムを使って、純粋なJVM実行のSQLiteライブラリを作成した
SQLiteをexaequOS.comに組み込む予定がある