はじめに
少し前ですが、2026年9月30日、Spanner OmniがGAになりました。Spannerは、高い可用性とスケーリングを両立したフルマネージドの分散型リレーショナルデータベースとして知られています。
これを使うためにGoogleCloudを使っている方も少なくないのではないかと思います。そんなSpannerが今回、
- On-Premises
- AWS
- Google Cloud
- Kubernetes
- VM
- Laptop
- Air-gapped Environment
など、Google Cloudの外でも実行できるようになりました。
Google CloudのManaged Databaseを、なぜGoogle Cloudの外で動かすの?」という疑問を持ちましたが、調べてみると、Spanner Omniは単なる「オンプレ版Spanner」というより、SpannerのDatabase技術をインフラから切り離して、さまざまな環境で共通利用するための製品と考える方が分かりやすそうです。
自身の説明のサポートも兼ねて以下を整理しました。
- そもそもSpannerとは何なのか
- Spanner Omniとは何なのか
- 通常のSpannerとは何が違うのか
- TrueTimeはGoogle Cloudの外でどうするのか
- どこにDeployできるのか
- Multi-model Databaseとは何なのか
- どんなケースで使えそうなのか
Spannerとは?
Spannerは、Google Cloudが提供するDistributed Relational Databaseです。
- Relational Database
- Horizontal Scalability
- High Availability
- Strong Consistency
を組み合わせたDatabaseで、一般的なRDBでは、スケールアップをしてパフォーマンスを上げたりしますが、Spannerでは複数のNodeへデータを分散させることで、スケールアウトすることが出来る仕組みがあります。
NoSQLのようにスケールしながら、
- SQL
- Transaction
- ACID
- Strong Consistency
を扱えるのがSpannerの特徴です。
Spanner Omniとは?
Spanner Omniは、自分たちのInfrastructure上で動かせるSelf-managed版Spannerで、
Google公式では、Deploy-anywhere version of Spannerと表現されています。
Google Cloudへ接続してRemote Spannerを利用するわけではないという点で、Spanner Omni自体を自分たちの環境へデプロイして使えるようになっています。
通常のSpannerとの違い
一番大きな違いは、誰がインフラを管理するか
ざっくり比較すると以下になります。
| 項目 | Spanner | Spanner Omni |
|---|---|---|
| 提供形態 | Fully Managed | Self-managed |
| 実行場所 | Google Cloud | On-prem / Other Cloud / VM / Kubernetes等 |
| Infrastructure管理 | User | |
| Scale | Managed | User Environment上で構成 |
| Upgrade | Google Managed | User側で管理 |
| Google Cloud外 | × | ○ |
| Air-gapped | × | ○ |
| Local Development | Emulator等 | Single Server構成可能 |
つまり、Omniは自分管轄のインフラ環境でSpannerを使いたい人向けのサービスです。
そのためGoogle自身も、Google Cloud上で利用できる場合にはマネージドのSpannerを推奨しています。
Spanner Omniは、Google Cloud上で直接Spannerを利用できない、または利用したくない事情がある場合に特に意味を持つソリューションだと思います。
どこにデプロイできる?
Spanner Omniはアーキテクトに合わせて柔軟に選択可能のようです。
- VM
- Linuxコンテナ
- Kubernetes
- ベアメタル
などで実行できます。環境も上記が動けばいろんなところで利用することが可能です。
ちなみにLocalでも動かせます。
SpannerのTrueTime
Spannerの特徴として、グローバルに同期された高可用性分散クロックAPIであるTrueTimeというものがあり、これが強いのですが、GoogleのTrueTimeがない環境下で、本当にSpannerが動くのか?という疑問が出ると思います。
自分もここが最初に気になりました。
Googleでは、
- Atomic Clock
- GPS
などを利用して時間の不確実性を管理しています。ではオンプレミスやAWSではどうするのでしょうか。
Software-defined TrueTime
Spanner Omniでは、Software-defined TrueTime APIが利用されていて、この仕組みを利用できるようになあっています。
つまりSpannerの重要なコンセプトである、
- Distributed Transaction
- Replication
- Strong Consistency
をGoogle Cloud以外の環境でも実現するための仕組みが用意されています。
Paxosによるレプリケーション
Spanner Omniでは通常のSpannerと同様に、Paxos-based Replicationを利用します。
という複数Replica間でコンセンサスを取りながらデータ管理します。
これによって、
- Server Failure
- Zone Failure
- Cluster Failure
などに対応するHA構成を作れます。
Deploy Topologyも複数ある
Spanner Omniでは、用途に応じて複数のトポロジーを選択できます。代表的には、
- Single Server
- Single Zone
- Multi-zone
- Multi-cluster
があります。例えばDevelopmentなら、Single Server、Productionなら、Multi-zoneさらにDRや大規模構成ならMulti-clusterという選択ができます。
Cloud ServiceではGoogleが隠していたInfrastructure Designの一部を、Spanner Omniではユーザ側でも考える必要があります。これは、自由度が高い代わりに、運用責任も増えるというSelf-managed製品ならではのポイントです。
どんなケースで使う?
Google公式情報を見ると、主なユースケースが整理されています。
Application Portability
- Customer Aは、Google Cloudで使いたい
- Customer Bは、AWSで使いたい
- Customer Cは、オンプレミスでしか動かせない
という要件だったとします。Databaseごと変えるとなると、
- Google Cloud → Spanner
- AWS → PostgreSQL
- On-Prem → 他DB
となり複雑になります。
Spanner Omniなら、
という構成ができます。Googleはこれを、Write once, run anywhereと豪語しています。
Data Sovereignty
これは分かりやすいですね。
- Dataを特定Countryから出せない
- Public Cloudを利用できない
- インターネット接続できない
といった要件です。Spanner OmniはAir-gapped環境にも対応しています。
Cloud NativeなDatabase技術は使いたいが、DataをCloudへ出せないというケースでも選択肢になります。
DR
例えばプライマリDatabaseをGoogle CloudのSpannerで動かし、別環境にもDatabase Platformを用意することで、プロバイダをまたいだレジリエンスを検討できます。もちろん実際のDR Designでは、
- Replication
- RPO
- RTO
- Latency
- Network
- Consistency
などの詳細設計が必要ですが、同じDatabase Technologyを複数Environmentで利用できること自体は大きな特徴です。
Geographic Flexibility
Google Cloud Regionが存在しないロケーションでApplicationを動かしたいケースもあります。Spanner Omniなら、Google Cloudのロケーション制約に縛られないわけです。
License
Spanner Omniはダウンロードして試すことができます。一方で、Production Workloadで利用する場合、GoogleからCommercial EditionのLicenseを取得する必要があり、DownloadしたからそのままProductionで無料利用できるというソフトウェアではありません。
まとめ
今回は、2026年9月30日にGAしたSpanner Omniについて整理しました。
Spanner Omniは、
自分たちの好きな環境へデプロイできるSelf-managed版Spanner
です。
特徴をまとめると、
- On-Premisesや他のCloudでSpannerを実行できる
- VM / Container / Kubernetesなど複数のDeployment方式に対応
- Air-gapped環境でも利用できる
- PaxosとSoftware-defined TrueTimeによってStrong Consistencyを提供
- Relational / Graph / Vector / Key-Value / Searchなどを統合したMulti-model Database
- Application PortabilityやData Sovereigntyに利用できる
- Local DevelopmentからMulti-clusterまで複数のTopologyを利用できる
- Production利用ではLicenseが必要
という製品です。Hybrid / Multicloudが今後どのように進化するのかという観点でも、Spanner Omniは引き続き注目したい製品だと思います。