大量のコンピュータ資源を利用する新興スタートアップの奪い合いでは、GCPに軍配が上がるケースも出てきている。メッセージングアプリ「Snapchat」を運営する米Snapが2017年2月に発表し、3月に改訂した上場目論見書(S-1)では、Snapが今後5年間でGCPに20億ドル、AWSに10億ドルを支払う契約を結んだことが明らかになった。SnapはGCPの最大の顧客とみられている。

 GoogleがAWSに追いつくためには、AWSが既に提供している機能やサービスをGCPに追加していくだけでなく、AWSには無い機能をGCPがどれだけ提供できるかも重要になる。

 そういった意味でGCPの切り札になりそうなのが、今回のイベントの1週間前に発表されたDBサービスである「Cloud Spanner」だ。「Spanner」はGoogleが自社開発した、SQLクエリーが利用できる分散DBで、Cloud Spannerはそれをサービスとして提供するもの。いわゆる「NoSQL DB」並みの拡張性(スケーラビリティー)を備えていると同時に、標準規格のSQLクエリーの利用や、トランザクション処理も可能である。

大陸間でデータを同期するSpanner

 通常のリレーショナルDBでスケールアウトを図る場合、データベースを分割する「シャーディング」を実施するのが一般的。しかしシャーディングを使用すると、テーブルを結合する「JOIN」のクエリーを記述するのが「人間には不可能なほど難しくなる」(GoogleのGreg DeMichillie氏)。しかしSpannerではシャーディングはしていないため、JOINの操作も容易だ。

 さらにSpannerでは、DBの稼働中にスキーマを変更することすら可能だ。「ANSI 2011」規格のSQLが利用可能で、トランザクション処理も可能であるというRDBの機能性に、従来のRDBではあり得ないような拡張性や柔軟性を追加したのがSpannerとなる(写真3)。

写真3●Spannerの特徴を語るGoogleのUrs Holzle上級副社長
[画像のクリックで拡大表示]

 またSpannerの特徴として、大陸をまたいでDBを分散できる点がある。データのコピーを異なる大陸にあるデータセンターに配置することで、GCPのリージョンが丸ごとダウンしたとしても、アプリケーションの処理を継続できるようになる。Spannerでは、大陸をまたいでデータを同期させるために、「原子時計を使ってデータのタイムスタンプを厳密に同期している」(GoogleのHolzle上級副社長)。

 Googleは自社で開発したSpannerを「Google AdWord」のバックエンドなど、同社にとっての「ミッションクリティカル・アプリケーション」に使用している。こうしたGoogle以外に持ち得ないテクノロジーをどれだけ一般のユーザー企業に普及させられるかが、Google Cloudの未来を左右することになるだろう。