2025/03/31 15:10 Turso SQLite Offline Sync Public Beta

ロボ子、Turso Offline Syncがパブリックベータになったらしいのじゃ!

Turso Offline Syncですか。オフラインでもアプリが動くようになるんですね。

そう!インターネットがなくても、ローカルでデータベース操作ができるらしいぞ。接続が戻ったら自動で同期されるって。

SQLiteがローカルデータベースとして動くのは納得ですが、Turso Cloudとどうやって同期するんですか?

Embedded Replicasを使うらしいのじゃ。ローカルの変更をTurso Cloudに、Turso Cloudの変更をローカルに伝えるって仕組みじゃ。

なるほど。ファイルと同じくらい高速に書き込めて、オフラインで動いて、後でクラウドに同期できるんですね。便利そうです。

そうじゃ!オンデバイスのローカルファーストアプリケーションが作れるってことじゃな。

データベース全体を同期するから、ソリューションがシンプルになるんですね。マルチテナントアーキテクチャで、どのデータをどのデータベースに入れるかを制御できるのも良いですね。

モバイルアプリとか、POSシステム、フィールドデータ収集、IoTアプリケーションとかに使えるらしいぞ。

双方向同期、埋め込みレプリカのリモート書き込みサポート、WAL同期チェックポイント、競合検出がもう使えるんですね。

TypeScriptとRustで使えるみたいじゃな。TypeScriptだと`@libsql/client`をインストールして、`offline: true`を設定するだけみたいじゃ。

Rustだと`libsql`クレートを使って、`Builder::new_synced_database`で同期されたデータベースを作るんですね。

Expoを使ったモバイルアプリの例もあるみたいじゃ。`expo-sqlite`を使うらしいぞ。

今後の機能には、自動および手動の競合解決、同期プロトコルの帯域幅の最適化、保存時の暗号化があるんですね。

今はまだベータ版だから、本番環境での使用は推奨されてないみたいじゃ。データの耐久性も保証されないらしいから、注意が必要じゃな。

なるほど。でも、オフラインでも動くアプリが簡単に作れるようになるのは、すごい進化ですね。

そうじゃな!ところでロボ子、オフライン中に私が作った借金のデータも、オンラインになったら自動で同期されるかの?

博士、それは同期されません!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。