MENU
Archives

Cloud Spannerとは?可用性の高いクラウドネイティブDBサービス

「Cloud Spannerって、どういうサービス?」
「Cloud Spannerを活用することでどういうメリットがあるのだろうか?」

近年データベースはビジネスレベルで必要不可欠なものと見なされており、単にデータを保管しておくストレージというよりはリアルタイムで必要なデータを引き出したり、高速なトランザクション処理が要求され、より現代的で高パフォーマンスなデータベースが必要とされています。

Google Cloudが提供するデータベースサービスだけでもBigQuery、Cloud SQL、Cloud Bigtableなど種類は多様ですが、本記事ではその中でもモダナイズに適したクラウドネイティブなデータベースという位置付けのCloud Spannerについて解説します。

目次

Cloud Spannerとは

Cloud SpannerはGoogle Cloudが提供するRDBMSサービスです。
RDBMSでありながら、非リレーショナルデータベースの水平スケーラビリティを兼ね備えたクラウドでのパフォーマンスに特化した設計になっている点が特徴的で、RDBの整合性とNoSQLのスケーラビリティを両立させたような、ユニークなデータベースサービスになっています。

また、運用がいらないフルマネージドなRDBMSである点と、ゾーン障害、リージョン障害にも耐え、最大99.999%の高可用性を備えている所もCloud Spannerの利点です。
実際にYouTubeやGmailなどのGoogleサービスの基盤としても組み込まれており、信頼性の高いクラウドネイティブなデータベースサービスを使いたい、という目的であればCloud Spannerは大いに推奨できます。

Cloud Spannerの特徴

Cloud Spannerの特徴について解説します。

・水平スケーリング
Cloud Spannerは自動的にデータを複数のリージョンに分散し、負荷分散を行います。これにより、トラフィックが急増してもシステムのパフォーマンスに影響を与えず、スケーラビリティを確保します。

・ACID特性を持ったトランザクション処理
Atomicity、Consistency、Isolation、Durabilityの頭文字を取ったACID特性をCloud Spannerのトランザクション処理は備えているためテーブルの整合性を保った処理が可能です。

・グローバルなリージョン展開と低レイテンシ
可用性と低レイテンシ、Googleの所持する世界中のインフラにより、複数リージョンに展開するようなグローバルな用途にも向いています。

上記の他にも
・最大99.999%の高可用性
・運用いらずのフルマネージドRDBMS
といった特徴があります。

Cloud Spannerを選ぶべきケース

どのようなユースケースにおいてCloud Spannerを選択すべきかについて解説します。
まず、
・運用いらずのフルマネージドRDBMS
・リージョン障害にも耐えられる高可用性
・必要な性能を得られるスケーラビリティ
これらの特徴のうち1つでも必要であれば、Cloud Spannerを検討する価値はあります。
2つ以上必要であれば、高確率でCloud Spannerがフィットします。

もう少し具体的な例を挙げると、
・eコマースプラットフォーム
多くのユーザーが同時にアクセスするeコマースプラットフォームは、高可用性と高性能なデータベースが不可欠です。Cloud Spannerは、大量のトランザクションを処理し、世界中のユーザーに高速なアクセスを提供するのに適しています。

・ゲーム開発
オンラインゲームのデータベースはリアルタイムでのプレイヤーの相互作用をサポートする必要があります。Cloud Spannerは高いスケーラビリティとパフォーマンスを提供し、プレイヤーエクスペリエンスを向上させます。

類似のデータベースサービスとの使い分け

Google Cloudの他のデータベースサービスとCloud Spannerではどのように使い分けるべきかという点について解説します。

・BigQuery
BigQuery は大規模なユースケースに対応できる分析用のデータウェアハウスであるため、主に自社データを分析するために使われるサービスです。 Cloud Spanner はトランザクション目的のデータベースであるため、業務システムやアプリケーションのデータベースとして使われるサービスです。

・Cloud SQL
Cloud SQLはMySQL、PostgreSQL、SQLServer を扱えるRDBMSです。規模が小さかったり、高可用性を必要としない場合は、コスト面で優位なCloud SQLを選ぶ方がコストの最適化が図れます。

Cloud Spannerは高い?

Cloud SpannerはCloud SQL等のサービスと比べ、高可用性など高いパフォーマンスを備えているため、比べると料金は高めに設定されていると言えます。

一方で、フルマネージドサービスのため本来かかるはずのデータベース運用コストを削減できる等、トータルコストも考慮する必要があります。
また、Granular Instance Sizingという使用するコンピューティング容量を指定できる機能や、Cloud Spanner Committed Use Discount (確定利用割引)というあらかじめ利用期間を確定することで、利用できる割引など、コストを抑える制度も充実しています。

Cloud Spannerの成功事例

Snap Inc.

Snap Inc.は、Cloud Spannerを利用して、Snapchatのバックエンドデータベースを強化しました。Snapchatは、急速に成長するユーザーベースを持つため、高可用性と高性能が不可欠でした。Cloud Spannerは、データの水平スケーリングとグローバル展開をサポートし、ユーザーの写真やビデオのメタデータを効率的に管理するのに役立ちました。Snap Inc.は、ユーザーエクスペリエンスを向上させつつ、大規模なトラフィックに対応できるデータベースインフラストラクチャを構築しました。

Evernote

Evernoteは、オンラインノートアプリを提供し、多くのユーザーがノートとデータを保存・アクセスするためのプラットフォームを提供しています。彼らはCloud Spannerを採用し、ユーザーノートとデータのスケーラビリティと可用性を向上させました。ユーザーデータへの高速なアクセスとデータの安全性は、Evernoteのユーザーエクスペリエンス向上に寄与しました。Cloud Spannerは、大規模なユーザーベースをサポートするために重要な役割を果たしました。

まとめ

Cloud Spannerは、後発のデータベースサービスなだけに、デメリットの少ない総合的にパフォーマンスの高いデータベースサービスであるように思います。

また大規模でグローバルな用途向きの印象がありますが、安定稼働が重要視されるワークロードであれば、小規模システムでのの採用も運用不可とコスト軽減効果を考えると有効です。

本記事が、Cloud Spannerや最新のクラウドネイティブなデータベースサービスについて興味を持っていただく際の一助となれば幸いです。

株式会社KUIXではGCPを用いたシステムの開発やコンサルティングを行っています。本格的なGCP環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次