この比較は、自己ホスト型の Rust ネイティブ バックエンド (sh0.dev、TrailBase、Aurabase) に焦点を当てています。 Rust で書かれていない、より一般的なセルフホスト バックエンドについては、Aurabase と PocketBase および Aurabase と Appwrite の比較で、他のオプションを検討します。 「EU 主権」が法的に意味するもの、ホスティング、パブリッシャーの国籍についての完全な分析については、記事 セルフホスティングと EU 主権 BaaS をさらに詳しく説明しています。この投稿は、Rust ピアの中に Aurabase を配置することに限定されています。
必需品
- 現在、セルフホスティング Rust ネイティブ バックエンドの実際のオプションは 3 つあります: sh0.dev (シングル バイナリ、約 25 MB)、TrailBase (Rust + 埋め込み SQLite + SolidJS インターフェイス)、Aurabase (フル プラットフォーム、専用 Postgres 16)。
- Aurabase は、モノバイナリの逆の妥協策を想定しています。つまり、マルチテナント RLS、リアルタイム CDC、ネイティブ AI (NL2SQL、RAG) と引き換えに、複数のオーケストレーションされたサービス (ローカルの k3d または本番環境の Kubernetes/Helm) です。
- セルフホスティングと EU の主権は 2 つの異なる軸です。物理サーバーと発行会社自体が EU 内にない限り、自分でホスティングしても何も保証されません。
- sh0.dev および TrailBase に関する情報は、執筆時点での公開ページに基づいており、徹底的に監査されていません。決定を下す前に、最新のドキュメントを確認してください。
セルフホスティングにとって「Rust ネイティブ」が重要な理由
セルフホスト型バックエンドは、クラウド プロバイダーの境界からインフラストラクチャを削除しますが、それを確実に実行する責任は負いません。ここで、言語の選択は詳細ではなくなります。Rust のメモリ セキュリティとガベージ コレクタの欠如により、本番環境の障害全体が軽減され、独自のサーバーを運用する小規模なチームに最も大きな打撃を与えます。
これは純粋なパフォーマンスに関する議論ではありません。セグメンテーション違反がなく、予測できないメモリ収集の一時停止がないサービスは、専用の SRE がなくてもチームの監視が容易です。 Aurabase のコアである 18 クレートの Cargo ワークスペースをまとめてコンパイルした実際のアーキテクチャは、 Rust アーキテクチャ ファイルに詳細に文書化されています。
「オープンソース」だけでは、移植性やロックインの欠如を保証するのに十分ではありません。実際のアーキテクチャ、シングルテナントかマルチテナント、独自のストレージ エンジンか標準のストレージ エンジンがより重要です。 sh0.dev、TrailBase、および Aurabase はすべてソース コードへのアクセスを提供しますが、スコープとデータ モデルは大きく異なります。
sh0.dev: ミニマリズム向けに設計されたユニークな Rust バイナリ
sh0.dev は、執筆時点の公開ページによると、約 25 MB の単一の Rust バイナリの形式で配布されるバックエンドとして存在します。中心的な議論は、展開の単純さです。ファイルをサーバーにコピーするだけで済み、外部依存関係を個別にインストールする必要はありません。
この記事では、sh0.dev の正確な機能範囲やライセンス モデルを詳細に監査していません。この主題に関する公開情報は依然として限られており、このタイプのプロジェクトは急速に進化します。この基準が決定に影響を与える場合は、決定する前に最新の公式ドキュメントを確認してください。
TrailBase: Rust コア、組み込み SQLite、SolidJS インターフェイス
公開ページによると、TrailBase は、Rust で書かれたバックエンド コア、埋め込み SQLite データベース、SolidJS で構築された管理インターフェイスを組み合わせており、すべてセルフホスティング プロジェクトとして提供されます。このアーキテクチャは PocketBase (Go、SQLite、統合インターフェイス) を彷彿とさせ、ランタイムは Go ではなく Rust で書かれています。
sh0.dev と同様、この記事でも TrailBase のコードやロードマップを徹底的にチェックしたとは主張しません。私たちが自信を持って言えるのは、一般的なアーキテクチャ上の位置付けです。つまり、外部の Postgres に支えられたバックエンドではなく、独自のストレージ エンジンを組み込んだバイナリです。
Aurabase: 専用の Postgres 16、完全なプラットフォーム、セルフホスト型
Aurabase は、モノバイナリとは異なるトレードオフを前提としています。このリポジトリは、 ./start.sh経由で 1 つのコマンドで起動されるローカル Kubernetes クラスター (k3d) と、Hetzner、ローカル Kubernetes ベンチ (k3d)、および Scaleway の個別の値プロファイルを含む完全な Helm チャート (deploy/helm/aurabase/) を提供します。ルート Cargo ワークスペースは、MIT ライセンスに基づいてリリースされます。
この選択には、単一のプロセスではなく、統合される複数のサービス (ゲートウェイ、認証、データベース、リアルタイム、ストレージ、機能、AI) が含まれます。その代わりに、各プロジェクトは、テナント イメージに埋め込まれた pgvector 0.8.6 および pg_graphql を備えた専用の PostgreSQL 16 (共有 SQLite ファイルではない) を受け取り、アプリケーション レベルではなくエンジン レベルで行レベルのセキュリティが分離されます。
Rust コアの唯一の注目すべきニュアンス: エッジ機能のデフォルト モードは、専用の TypeScript サービス (V8 Isolates) に依存しています。これは、上で引用したアーキテクチャ ファイルに詳細に文書化されたエンジニアリング上の妥協であり、黙っておきたい省略ではありません。
3 つのアーキテクチャを並べてまとめたもの
「確認する」とマークされた sh0.dev 列と TrailBase 列は、これら 2 つのツールに対する当社の非網羅的な検索を反映しており、これらのツールに機能がないことが確認されたわけではありません。
| 基準 | オーラベース | sh0.dev | トレイルベース |
|---|---|---|---|
| 主要言語 | Rust (フルワークスペース、18 個のクレート) | Rust (シングルバイナリ) | Rust (コア) + SolidJS (インターフェース) |
| 導入フットプリント | ローカルの k3d または本番環境の Helm/Kubernetes、いくつかのサービス | 単一バイナリ、約 25 MB | 単一バイナリの埋め込み SQLite |
| データベース | プロジェクトごとに専用の PostgreSQL 16 + pgvector + pg_graphql | 要確認(公式ドキュメント) | 埋め込みSQLite |
| 管理インターフェース | 別個の Next.js スタジオ | 確認するには | SolidJS インターフェースをバイナリに統合 |
| ネイティブ AI (NL2SQL / RAG) | はい、コード (aura-ai) をチェックインしました | 確認するには | 確認するには |
| この比較に関する公式の声 | この比較は Aurabase によって公開されました | なし、未承諾 | なし、未承諾 |
EU の主権: 二項対立の選択に依存しない
Rustで書かれたバックエンドを自己ホストすること自体は、それが何であれ、EUの主権に関して何も保証しません。 2 つの異なる条件を満たす必要があります。物理サーバーは欧州連合内で実行する必要があり、物理サーバーの実際の運用管理を維持する必要があります。 sh0.dev、TrailBase、Aurabase のいずれも、2 番目の条件、つまりバイナリまたはコンテナをデプロイする場所を選択することを保証することはできません。
The jurisdiction of the software publisher also matters, but on a different axis: that of a version managed by the supplier rather than your own self-hosting. This is the CLOUD Act angle detailed in our article on choosing a BaaS. For the Aurabase managed infrastructure itself: it runs, verified in production, on Hetzner data centers in Nuremberg and Falkenstein (Germany) as well as in Helsinki (Finland). This is EU sovereignty as it actually exists today, distinct from the Paris headquarters of Aurabase SAS.
ソブリンかどうかにかかわらず、宿泊施設を選択する前に確認すべき準拠基準の詳細: 準拠のページ。
いつ何を選択するか
デプロイメントのフットプリントが第一の基準である場合、最小限の VPS、エッジ デバイス、メガバイト単位が重要なプロジェクト、sh0.dev または TrailBase は試してみる価値があります。これらは、本番環境での動作をテストしていない場合でも、この特定のユースケースでは擁護可能な選択肢です。
プロジェクトで、高度な行レベルセキュリティ、SQLite ではなく完全な Postgres、またはサードパーティアセンブリを使用しないネイティブ AI (NL2SQL、RAG) を使用した真のマルチテナントが必要な場合、Aurabase がその基準をカバーします。これは、既存の Supabase プロジェクトから開始する場合、最も直接的なパスでもあります。Aurabase は、移行ガイドに記載されている、ほぼ直接の互換性を目的とした SDK および RLS ポリシーを備えた、Rust で書かれた Supabase の代替として位置付けられます。