# Jazz、同期をデフォルトとするローカルファースト・データベースを提案

出来事の日付:2024年10月5日

NeoTechNews編集部

2024年10月5日に広まった製品ページでは、Jazzによる野心的な構想が示された。すなわち、フロントエンド、バックエンド、そして管理されたグローバルクラウド層にまたがって動作するローカルファーストのリレーショナルデータベース上でアプリケーションを構築し、開発者が通常、データベース、ファイルシステム、キュー、認証ロジック、共同作業インフラに分けて担わせる作業の多くをプラットフォームに吸収させるというものだ。

中心的な主張は単純だ。Jazzによれば、アプリケーションコードに対しては組み込みデータベースのように振る舞う一方、永続データをクラウドへ自動的に同期する。同社の説明では、これにより共有状態はネットワークに拘束されるのではなく、反応が速く即時的なものに感じられるという。プラットフォームは、テーブルの一部、永続ストリーム、ファイルを必要に応じて同期できるとしており、初回利用者に対してアプリケーションを素早く読み込み、その後の利用ではほぼ瞬時に動作させられるという。

この約束は、Jazzが明示している技術的なトレードオフに基づいている。このシステムはデフォルトで結果整合性を採用しており、これは低遅延の共同作業ときめ細かな同期を支えるための選択だ。一方、より強力な保証が重要となる場面では、従来型のグローバルに整合したトランザクションを選択できるとも同社は述べている。このハイブリッドな位置付けが重要なのは、しばしば相反する2つのアプリケーション要件、つまりローカルファースト・ソフトウェアに期待される応答性と、一部のワークフローに必要な、より強力な正確性のセマンティクスとの橋渡しを試みているからだ。

セキュリティとバックエンドの簡素化も、この提案の中核にある。Jazzは、行レベルセキュリティを第一級の機能として扱い、ポリシーを認証およびユーザーのJWTクレームと統合することで、権限をデータベースレベルで表現し、テストできるとしている。同社は、これによりアプリケーションのバックエンドからコンピューティング処理と複雑さが取り除かれ、同社が「ゼロ・ラウンドトリップ・セキュリティ」と呼ぶ仕組みが実現すると主張する。これは、アクセス制御をサービスコード内で繰り返し再構築するのではなく、データモデルとともに移動させられることを意味する。

製品ページはまた、Jazzをリアルタイム共同作業ソフトウェアの時代に真正面から位置付けている。同データベースは、共同作業が特別料金の機能ではなく基本的な動作となっているNotionやFigmaのような製品が形作った世界を念頭に考案されたという。そこからJazzは、ユーザーとAIエージェントの双方が高頻度でデータを変更する可能性のある、より新しいワークロードへと議論を広げている。これを支えるため、各行にはgitのような分岐履歴が保持され、開発者には過去のバージョンや共同作業の履歴を事後に調査するためのAPIが提供されるという。

スキーマ変更の管理も、Jazzが差別化を図ろうとしている分野だ。システム全体を停止させる移行の代わりに、このプラットフォームでは、移行処理をアプリケーションの各バージョン間を変換する稼働中の互換性レイヤーとして機能させられるという。原理上、これによりチームは、古いクライアントとの後方互換性を維持し、複雑な技術スタック全体で機能フラグを使って新機能を提供する際の運用上の負担を軽減しながら、より迅速に作業を進められる。

より広範な戦略的主張は、Jazzが増え続けるインフラの役割を1つの一貫したシステムへ統合できるというものだ。製品ページによれば、Jazzはデータベースそのものに加えて、BLOBストレージ、ファイルおよび画像の配信、永続ストリーム、リアルタイム・メッセージングなど、本来なら別々のベンダーやコンポーネントを必要とするデータ中心の機能を吸収できる。同社は現在も、セルフホスト可能なオープンソースのシングルテナント・サーバーを提供しているが、このモデル専用に調整したというグローバル分散型マネージドサービス「Jazz Cloud」へ明らかに関心を誘導している。

この技術スタックがカテゴリーを定義するアーキテクチャーになるのか、魅力的なニッチにとどまるのかは、実行力、エコシステム、そして開発者がどれほどの複雑さを単一のプラットフォームへ委ねる意思があるかに左右される。しかし、証拠から読み取れるメッセージは明白だ。Jazzが売り込んでいるのは、同期のためのポイントソリューションではない。同社は、同期、権限、履歴、ストレージ、共同作業を、最初から1つのデータベース問題として扱うべきだと主張している。