
2026/04/10 3:30
**インスタント 1.0 ― AIでコーディングされたアプリ向けバックエンド**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
## Summary Instant 1.0は、完全にオープンソースでマルチテナント対応のバックエンドです。AIコーディングエージェントが別々のサービスに頼らずにフルスタックアプリケーションを構築できるようにします。「無制限アプリ」モデルを採用しており、新しいプロジェクトは仮想マシンを起動せず、共有Postgresトリプルストアに行だけを追加するため、アイドルコストが低く抑えられます(Key 2)。トリプルストアは単一の「triples」テーブルに存在し、`app_id`で論理的に分離されるため、データベース作成が安価かつスケーラブルです(Key 3)。 Clojureベースの同期エンジンは、リアルタイム更新、オフラインモード、およびWebSocketsによる楽観的UIを実現します。コンカレンシープリミティブとJVMエコシステム―特に権限管理用のCEL―が高速開発を可能にします(Keys 4 & 9)。クライアント側では、SDKがIndexedDBでキャッシュし、独自のトリプルストア+Datalogエンジンでローカルクエリ評価を行い、楽観的取引用の保留キューを持ちます(Key 5)。InstaQLはクライアント側でDatalogに変換され、サーバー側ではCTE付きSQLに変換されます。カウントミンスケッチが列統計情報を提供します(Key 6)。 認証(Magic Codes, OAuth, Guest)、ファイルストレージ(トリプルとして保存、カスケード削除)、プレゼンス、およびストリームなどのすべてのコアサービスは単一データベースに統合されており、別個の認証・ファイルストレージ・プレゼンス・ストリーミングシステムを必要としません(Key 7)。アーキテクチャは「Grouped Queue」抽象化に依存しており、WALエントリーをアプリごとに順序付けて処理しつつ、アプリ間で並列化することでリソース使用の公平性を確保します(Key 8)。 トリプルテーブルへの部分インデックスはユニークカラムと効率的な検索をサポートし、スケール時にパフォーマンスを維持するために動的に管理されます(Key 10)。将来的には、InstaQLを複雑なSQLプランに変換するクエリエンジンが開発予定で、Postgresの最適化器を利用して数億行以上のトリプルに対する操作を実行します(Key 11)。また、APIやCLI経由でエージェントがアプリ・スキーマ・権限をプログラム的に作成できる機能も追加されます(Key 12)。 ユーザーにとっては、アイドル計算費用を支払うことなく無制限のAI駆動型アプリが利用可能です。企業は、認証・ファイルストレージ・プレゼンス・ストリーミングサービスを別々に管理する必要がない単一統合データベースから恩恵を受けます。アプリごとのキューイングとアプリ間の並列化モデルは、多テナントプラットフォームがリソース公平性とパフォーマンスをどのようにバランスさせるかに影響を与える可能性があります。
本文
Instant 1.0 – フルスタックアプリビルダー
4 年間の開発を経て、 Instant 1.0 をリリースします。
完全にオープンソースなプラットフォームで、どんなコーディングエージェントでもフルスタックアプリビルダーへと変換できます。
「Instant は AI コード化されたアプリのための最高のバックエンドだと主張します。」
この記事では:
- デモを実際にご覧いただき、ご自身で評価してもらいます。
- それを可能にした構成や設計上の選択肢について解説します。
デモ
Instant を選ぶと、以下の三つのコアメリットが得られます。
- 無制限のアプリ – 必要なだけプロジェクトを作成でき、凍結されることはありません。
- 組み込み同期エンジン – アプリはオフラインでも動き、リアルタイムで高速に感じられます。
- 統合サービス – 認証・ファイルストレージ・プレゼンス・ストリームなどが即座に利用可能です。
無制限のアプリ
従来のホスティングは VM を使用するか、無料枠でアイドル状態のアプリを凍結します。
Instant では VM の起動を回避し、新しいプロジェクトは共有マルチテナントデータベースに行を挿入するだけです。
- 非稼働時は計算リソースやメモリが不要
- 稼働時は数キロバイトの RAM で済む
実際に「このエッセイ内」にアプリを作成することも可能です。ボタンをクリックすると:
- バックエンド用の公開 App ID
- 権限付き変更ができるプライベート Admin Token
が取得できます。これらは関係データベース、同期エンジン、および前述の追加サービスを提供します。
同期エンジン
アプリが存在する段階で、その体験を楽しくすることが重要です。従来の CRUD アプリは構築しやすいですが、マルチプレイヤー、オフラインモード、最適化された更新などの現代的機能が不足しています。
Instant は 汎用同期エンジン を提供します:
- すべてのアプリにデフォルトでリアルタイム・オフライン・楽観的挙動を付与
- クライアント側で IndexedDB に永続化
- トリプルストア + Datalog エンジンでクエリ評価
ライブデモでは、作成したインスタンスをバックエンドに持つ todo アプリが二つの iframe で動作しています。片方でタスクを追加すると即座にもう一方に反映されます。オフラインでも変更でき、接続が戻ったときに同期します。
バックエンドコードは約 25 行で済みます:
は関係クエリを書き、常に同期状態を保ちますdb.useQuery
はオフライン対応の変更を行い、サーバーが拒否した場合にはロールバック可能db.transact
追加サービス
アプリはデータ同期だけでなく、認証・ファイルアップロード・プレゼンス・ストリームなども必要です。
Instant はこれらのサービスを一括してバンドルし、複数プロバイダーを管理する手間を省きます。
| サービス | 動作 |
|---|---|
| File Storage | ファイルはデータベース行として格納され、他エンティティとリンクでき、リアルタイムでクエリ可能 |
| Auth | Magic コード・OAuth・ゲスト認証 – ユーザーはデータベース行 |
| Presence | カーソル共有、入力指示子、誰がオンラインかの表示 |
| Streams | ライブデータ用の耐久ストリーム |
ファイルアップロードデモでは、Instant なら S3 やバックグラウンドワーカーを必要とせず、すべてが統合されたエンティティとして扱えることが示されています。
アーキテクチャ
Instant は三つの主要コンポーネントから構成されます:
- Client SDK – クエリ/トランザクション管理、オフライン解決、楽観的更新
- Clojure Backend – 反応型クエリ実行、多テナント公平性の確保、サービス実行
- マルチテナントデータベース –
によって隔離された単一 Postgres インスタンスapp_id
Client SDK
- IndexedDB を永続化に使用し、リフレッシュ間でデータを保持
- データはトリプルストア (
) へ保存し、埋め込み Datalog エンジンでクエリ評価entity, attribute, value - 楽観的変更の Pending Queue を維持。サーバーが拒否した場合に自動ロールバック
- InstaQL(GraphQL に触発された JavaScript オブジェクトクエリ言語)を公開し、ビルドステップ不要
- Reactor が IndexedDB 読み込み・WebSocket 通信・オフライン処理を統括
Clojure Backend
- クライアントが監視するクエリを記憶する Query Store
- クエリを トピックセット(Asana の Luna / Figma の LiveGraph に似た概念)へ変換
- Postgres WAL をモニタリングし、トピックに変換して影響を受けるクエリを無効化する Invalidator
- アプリ単位で更新をシリアル処理しつつ、アプリ間では並列実行する Grouped Queue により公平性確保
- WebSocket、権限、サービス全体を結び付ける Session Manager
マルチテナントデータベース
- 単一の
テーブルにすべてのデータを格納。隔離はtriples
で実現app_id - カラムはアプリケーション層で実装し、ロックフリーなスキーマ変更とソフトデリートが可能
- パーシャルインデックス が一意性を保証し、頻繁にクエリされるカラムの性能向上に寄与
- 数億トプル規模では count‑min スケッチ を保守し、Postgres プランナーへの統計情報提供
Query Engine は InstaQL を効率的な SQL 計画へ変換し、パーシャルインデックスとヒントを活用。Clojure バックエンド内で実行されます。
まとめ
Instant は、現代のリアルタイム・マルチテナントアプリに必要な複雑な配管作業を一つのオープンソースプラットフォームへ統合します:
- 無制限に凍結なしでアプリをミリ秒単位で作成
- ユーザーに自然に感じられる同期エンジンを即座に提供
- 認証・ストレージ・プレゼンスなどの共通サービスを最小コードで追加
- 単一 Postgres インスタンス上で動かしつつ、隔離と性能を維持
AI 主導またはエージェント駆動アプリケーションを構築しているなら、Instant はインフラよりもコアロジックに集中できるよう支援します。ぜひ試してみてください—サインアップは任意ですが、継続的な利用には強く推奨します。
この記事およびプラットフォームのすべてのソースコードは GitHub 上にあります。