- Google Cloudに関する記事
高いけどスゴイ!『Cloud Spanner』を徹底解説
こんにちは、クラウドエース編集部です。
ビジネスの成長にデータの活用が必須と言われている現代。データを有効に利用するためには、正しく処理・保管できる高機能なデータベースが必要です。
今回は、Google Cloud が提供するデータベース「Cloud Spannner」について、特徴や利用メリット、活用事例をわかりやすく解説していきます。
Cloud Spanner とは
Cloud Spanner とは、Google Cloud が提供するフルマネージドのリレーショナルデータベースサービスです。
最大 99.999% の可用性、柔軟なスケーリング、強力な整合性・一貫性を持ち、大規模データのトランザクション処理を高速で実現します。
これまで、リレーショナルデータベースにはデータの不整合を防げるというメリットがあるものの、柔軟なスケーリングが難しいというデメリットがあると考えられていました。 Cloud Spanner は、このデメリットを解消し、整合性とスケーリングの両立を実現したデータベースサービスです。
Cloud Spanner のメリット
ここからは、Cloud Spanner を利用する具体的なメリットについて解説していきます。
柔軟なスケーリング
1 つ目のメリットは、必要に応じて簡単にスケールできることです。
Cloud Spanner では、コンピューティングリソースがデータストレージから分離されています。そのため、基盤となるストレージに変更を加えることなく、ワンクリックでリソースを拡大・縮小できます。これにより、データ容量やトランザクション量が増えた場合も、データを書き直したり、データベースを移行したりする必要がなくなります。
新たなアプリケーションを発表する際など、どれだけのアクセスがあるか事前予測が難しいことがあるでしょう。最初の段階では少なくても、徐々にそれが増大するケースもある一方、発表初日から大規模なアクセスを処理しなければならないケースもあり得ます。
このような状況でも、柔軟にリソースを変更できる Spanner であれば、アクセス数に応じてリソースを最適化できます。
高い可用性・低いレイテンシ
2 つ目のメリットは、高い可用性と低いレイテンシです。
何十億ものユーザーが使う Google の専用ネットワーク上に構築されている Cloud Spanner は、その可用性が実証されています。最大 99.999% の可用性を誇り、ダウンタイムを発生させずに列やインデックスの追加・削除が可能です。
また、Cloud Spanner はフルマネージドのサービスであるため、メンテナンスも不要です。ソフトウェアの自動更新やインスタンスの最適化は、バックグラウンドで行われ、万が一障害が発生した時にも、ダウンタイムなく自動で復旧します。
さらに、Cloud Spanner では、一部のデータが古くても問題ない場合、読み取り専用レプリカを使うことで計算能力をより効率的に活用できます。これにより、大きくレイテンシを下げることが可能です。
コストを最適化できる
3つ目のメリットは、コストを最適化しやすいことです。
Cloud Spanner の利用料金は、安いものではありません。しかし、総合的に見ると、Cloud Spanner の導入により、総所有コストの削減と、費用対効果の向上を期待できます。
実際に、アメリカの IT コンサルタント企業 Enterprise Strategy Group の調査によると、Cloud Spanner の TCO(総所有コスト)は、オンプレミス型データベースより 78%、他のクラウド型データベースより 37% 安くなることが明らかになっています。
さらに、同社が Cloud Spanner のユーザーに意見を聞いたところ、全員が TCO の削減と柔軟性の向上を理由に、他のデータベースより Cloud Spanner を好むと答えたとのことです。
直感的な操作が可能
4 つ目のメリットは、直感的な操作が可能なことです。
ここまで紹介した通り、Spanner は非常に高機能です。しかし、その操作方法は非常に簡単です。直感的に動かせるインターフェースが採用され、数クリックのみでデータベースを作成でき、必要に応じてスケーリングできます。
データベースの運用・管理の手間がなくなるため、より重要な業務に注力できるようになります。これも、Spanner を利用する大きなメリットと言えるでしょう。
Cloud Spanner の利用はこんなシーンにおすすめ
ここまで、Cloud Spanner のメリットについて紹介してきました。これらのことを踏まえると、Cloud Spanner は以下に当てはまる人におすすめと言えます。
- 小規模から始めて、徐々にスケールを大きくしたい
- 必要データ容量やトランザクション量の予測がつかない
- レプリケーションなどで高可用性が必要
- 低いレイテンシで処理を実現したい
上記に当てはまるデータベースを探している人には、Cloud Spanner がぴったりと言えるでしょう。
Cloud Spanner の実用例
最後に、Cloud Spanner を実際にビジネスに活用している事例について見てみましょう。
Sabre
Sabre は、航空・鉄道・ホテルなどで使われる予約システムを提供する企業です。同社では、年間 10 億人、120 億件以上の旅行者にサービスを提供するため、Cloud Spanner を活用しています。
大規模な旅行の予約を管理するためには、利用するクラウドサービスにも高い性能が求められます。そんな中、データベースに関しては、選択するサービスによって「遅延と一貫性のトレードオフが起こっていた」と言います。つまり、低レイテンシを優先させると一貫性が失われやすくなり、一貫性を重視するとスピードが落ちやすいということです。
同社では、Cloud Spanner を活用することで、このような課題を解決しています。
具体的に同社では、航空会社の予約の乗客の予約情報、座席指定、チケット、特別なリクエストなど重要な情報を保存するデータベースとして Cloud Spanner を活用しています。これらは特に一貫性に重きを置かれるデータと言えるでしょう。世界中の航空会社から提供される予約データを管理し、障害が発生した場合でも利用可能な状態を維持する必要があるからです。また、航空会社は複数の乗客・便に対して同時に変更を加えることも多いため、トランザクション更新の正確性も求められると言います。
しかし、1 秒間に数千件の予約更新を処理する必要がある同社には、一貫性に加えて同時更新の大量データを処理できるシステムが必要でした。一貫性を保証した上で、高速処理にも対応する Cloud Spanner を採用したことにより、ピーク時には毎秒 10 億以上のリクエストの正確な処理が可能になったと言います。
また、Cloud Spanner のきめ細かい価格設定により、TCO も下がったとのこと。さらに、処理が高速化したことにより、待ち時間や一貫性の最適化に費やす時間が減り、その分より重要な業務に時間を費やせるようになったそうです。
Vimeo
動画プラットフォームの Vimeo は、Cloud Spanner を利用して、毎日数十万件の新規アップロードと数十億件の視聴を実現しています。
Vimeo では、すべての動画で、シームレスなユーザーエクスペリエンスを提供することを最も重視しています。Cloud Spanner を利用することで、同社はそれを実現しています。
もともと、Google Compute Engine や Google Cloud Storage を使ってユーザーに高品質な再生およびアップロード環境を設計していたという同社。しかし、当初はアプリケーションデータの大部分はオンプレミスの MySQL データベースで保存されていたとのこと。しかしすぐに、より高い可用性と優れたユーザー体験を提供するためには、アプリケーションを再設計する必要があることに気づいたと言います。そこでたどり着いたのが Cloud Spanner です。
Cloud Spanner への移行を決めて、同社が初めに取り組んだのが MySQL からのデータの転送でした。できるだけエラーやバグのない、正確なデータ転送を実現したいと考えていた同社にとって、データが一致しない場合、ワンクリックで元のデータに戻すことができる Cloud Spanner は非常に便利だったとのこと。
移行後は、リレーショナルデータベースの利点とスケーラビリティに大きなメリットを感じたそう。現在では、Cloud Spanner で約 508 億行と約 4.5 テラバイトのストレージをカバーしているようです。
また、何百万人ものユーザーが動画をアップロードし続けている Vimeo において、Cloud Spanner は動画のインデックスおよびカタログ作成としての役割も果たしているとのこと。Cloud Spanner を使うことで、ユーザーがコンテンツの中から素早く簡単に動画を見つけられるようになるなど、シームレスな動画体験を提供の提供に繋げています。
<参考元>
Google Cloud “Vimeo builds a fully responsive video platform on Google Cloud”
まとめ
ここまで、Cloud Spanner のサービス内容や利用メリット、活用事例について紹介してきました。Cloud Spanner の導入検討の際には、この記事を参考にしてみてください。
弊社クラウドエースでも Cloud Spanner と Cloud Run を組み合わせることで、ゲーム開発級の開発インフラの導入をコストと工数を7割削減しながら実現できるという Google Cloud Gaming Infrastructure(GCGI)を提案しております。
詳しくはお問い合わせ下さい。
<参考元>
- Google Cloud “今後のプロジェクトで Cloud Spanner の導入を検討すべき 3 つの理由”
- Google Cloud “Vimeo builds a fully responsive video platform on Google Cloud”
- Google Cloud “Sabre chose Bigtable and Cloud Spanner to serve more than 1 billion travelers annually”
この記事を共有する