【くらうどすぱなー】

Cloud Spanner(クラウドスパナー) とは?

💡 世界中のリージョンを跨いでも「ズレない」最強の分散RDB
📌 このページのポイント
Cloud Spanner グローバル分散構成 🇺🇸 US リージョン Spanserver Spanserver Spanserver 🇪🇺 EU リージョン Spanserver Spanserver Spanserver 🇯🇵 Asia リージョン Spanserver Spanserver Spanserver Paxos Paxos TrueTime(原子時計 + GPS) グローバルで数マイクロ秒以内の時刻同期を保証 強整合性 + 水平スケーリング
Cloud Spanner のグローバル分散構成
ひよこ ひよこ

Cloud Spannerって普通のデータベースと何が違うの?

ペンギン先生 ペンギン先生

普通のRDBは1つのリージョンで動くけど、Cloud Spannerは世界中の複数リージョンにデータを分散しても、まるで1台のDBのように強い整合性を保てるんだ。これがすごいところだよ

ひよこ ひよこ

強整合性ってそんなに大事なの?

ペンギン先生 ペンギン先生

たとえば銀行の送金を想像してみて。東京とニューヨークで同時に残高を見たとき、違う金額が表示されたら大問題だよね。Cloud Spannerならどのリージョンから見ても常に同じデータが見えることを保証してくれるんだ

ひよこ ひよこ

でもCAP定理ってあるよね?整合性と可用性は両立できないんじゃ…

ペンギン先生 ペンギン先生

するどいね!厳密にはCloud Spannerも完全にCAPの制約を超えたわけではないけど、TrueTimeという原子時計とGPS受信機を使った超高精度な時刻同期技術で、実質的に強整合性と高可用性を同時に達成しているんだよ

ひよこ ひよこ

TrueTimeってどんな仕組み?

ペンギン先生 ペンギン先生

Googleデータセンターには原子時計とGPS受信機が設置されていて、世界中のサーバーの時刻のズレを数マイクロ秒以内に抑えているんだ。この正確な時刻をもとにトランザクションの順序を決めるから、分散していても矛盾が起きないよ

ひよこ ひよこ

お値段はどのくらいするの?

ペンギン先生 ペンギン先生

正直、安くはないよ。最小構成でも月額数万円からで、マルチリージョンだと数十万円以上になることもある。だからグローバル展開する大規模サービスや、金融のように強整合性が必須の場面で真価を発揮するんだ

ひよこ ひよこ

TiDBとどう使い分ければいいの?

ペンギン先生 ペンギン先生

Cloud SpannerはGoogle Cloudのフルマネージドで運用が楽だけどクラウドロックインされる。TiDBオープンソースでどこでも動かせるけど自前で運用が必要。マルチクラウドや特定のクラウドに縛られたくないならTiDB、運用をGoogleに全部任せたいならCloud Spannerを選ぶのが良いね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cloud Spanner」って出てきたら「Googleの世界規模で使える強整合性分散データベース」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cloud Spanner」 = クラウドスパナー(スパナ→工具のスパナ)
💬 スパナ(レンチ)のように分散システムの難問をがっちり締め付けて解決するイメージからきているよ
← 用語集にもどる