9 ポイント 投稿者 GN⁺ 2023-09-21 | 2件のコメント | WhatsAppで共有
  • クラウドのPostgresとローカルSQLiteを基盤に、リアクティブ(Reactive)でリアルタイム(Realtime)、ローカルファーストなアプリを開発するためのプラットフォーム
  • Local-First
    • アプリのコードはSQLiteの組み込みDBと直接通信し、データはバックグラウンドでクラウドのPostgresとactive-activeレプリケーション方式で動的に同期
    • これにより、マルチユーザーでのコラボレーションとConflict-Freeを実現
  • ElectricSQL を通じてローカルPostgresをそのまま利用
  • ローカル優先のデータアクセスを活用し、アプリを即座に反応し、一貫して高速にすることを目標に設計
  • 運用のシンプルさを提供し、シンプルでスケーラブルなレプリケーションプロトコルに標準化することで、バックエンドサービスの多様性と作業量を削減
  • 既存のPostgresベースのシステムと互換性があり、既存のデータモデルとともに動作

2件のコメント

 
sixmen 2023-09-21

私はサーバーなしでも動作するものを好むので、クライアント中心のアプリを作っていたのですが、後からサーバー連携が必要になり、アクティブ・アクティブ同期へ移行したケースでした。

最初のサービスは OT の概念を導入して手動で実装し、2つ目は外部ソリューションを探した末に Couchbase を選びました(そのとき PouchDB や Realm も調査しました)。

結論としては、よほどでなければやらない方がいいです。データ管理がうまくいきません(Couchbase DB が特殊なのもありますが)

 
GN⁺ 2023-09-21
Hacker Newsの意見
  • ElectricSQLは、ローカルファーストのアプリ向けに、PostgresとSQLiteの間でアクティブ・アクティブ同期を可能にする新しい技術です。
  • この技術は、クライアント側のSQLite、オープンソースのCRDT/同期レイヤー、そしてPostgresの間の接続を管理する独自のアプローチが高く評価されました。
  • ElectricSQLは、すべてのデータとユーザーアカウントの中央の信頼できる情報源としてPostgresデータベースを機能させ、各ユーザーの個人コンテンツはそれぞれのSQLiteデータベース内に分離されたまま同期できます。
  • ElectricSQLは、実データまたはキュレーションされたデータの一部を使って高速な統合テストを書くCIワークフローで利用できる可能性があります。
  • ElectricSQLは、ローカルファーストアプリ復興に向けた重要な一歩と見なされていますが、この分野ではなお克服すべき課題が数多く残っています。
  • ElectricSQLを使うアプリケーションの状態の一部に対して、エンドツーエンド暗号化を利用できる可能性についての質問が提起されました。
  • 一部のユーザーは、CRDTと組み合わせたときに状態がどうなるのかを理解する複雑さに懸念を示し、それがどのようにユーザーに問題を引き起こしうるかについて述べました。
  • ElectricSQLの商用モデルについての疑問があり、これがフルクラウドサービスになるのか、それともElixirコンポーネントだけをホスティングするのかが問われています。
  • ユーザーは、ルートデータベースへ再マージされる変更に対する検証または認証について関心を示しており、悪意あるクライアントが任意のデータストリームをルートデータベースに同期させるために送信する可能性に、ElectricSQLがどう対応するのかを気にしています。
  • ElectricSQLは、PouchDBやCouchDBのような他のソリューションと比較されており、ユーザーはこの新しい技術を試してみたいという関心を示しました。
  • ElectricSQLのリリースは全体として好意的に受け止められており、多くのユーザーがこの技術のローカルファーストソフトウェアに対する可能性に興奮を表明しました。