Google Cloud Platform

Cloud Spanner と Cloud Bigtable がアップデート、アプリの開発とデプロイがより簡単に

NEXT_LondonDatabase_v1no3p.PNG

※この投稿は米国時間 2018 年 10 月 11 日に Google Cloud blog に投稿されたものの抄訳です。

私たち Google Cloud の目標の 1 つは、マネージド サービスとして必要なデータベースの選択肢を提供し、お客様における運用の複雑さや手間を解消することです。お客様の多様なワークロード ニーズに対応するべく、あらゆるマネージド データベース サービスを提供するとともに、アプリケーション開発を容易にする機能のデータベースへの追加に常に取り組んでいます。

私たちは先ごろ開催した Next London '18 において、Cloud SpannerCloud Bigtable という 2 つのクラウドネイティブ データベース サービスで 2 つの重要な新機能を正式リリースしたことを発表しました。

  • Cloud Spanner : Cloud Spanner の SQL 機能に改良を加え、SQL によるデータの読み書きや、既製のドライバとツールの利用を容易にしました。Cloud Spanner の API は、SQL の INSERTUPDATEDELETE 文を新たにサポートしています。
  • Cloud Bigtable : Key Visualizer を導入しました。これにより、主要なアクセス パターンをヒートマップ形式で可視化し、Cloud Bigtable スキーマを最適化してパフォーマンスを高めることができます。この機能を追加することで、最適なデータ モデルの作成が可能になり、データベースを最大限に活用できるようになります。Key Visualizer はこのたび正式にリリースされました。
目的に合ったデータベースを構築するためのプロセスは、いたってシンプルです。私たちはお客様の声に耳を傾け、お客様のニーズに対応した機能やプロダクトを開発していきます。こんなサービスを、というものがあればぜひお知らせください

以下では、こうした新しい便利なデータベース機能について解説します。これらの機能は、クラウド ワークロードに対応するデータベースの互換性や使いやすさを高めます。

Cloud Spanner DML

Cloud Spanner は、どのような規模でも使いやすいように作られたリレーショナル データベースです。主要なエンタープライズ、SaaS、ゲーム アプリケーションで利用されています。必要に応じて大規模なスケーラビリティを提供し、リージョンや大陸をまたぐ強い整合性やトランザクションといったリレーショナル セマンティクスも実現します。

リレーショナル データベースでデータを操作する標準的な方法は、SQL データ操作言語(DML)を使うことです。Cloud Spanner はすでに SELECT クエリをサポートしており、このたび SQL の INSERTUPDATEDELETE 文もサポートしました。以下は、この新たなクエリ サポートを示しています。

kTmUPW0zlIBWV3tY2WHxK5QAD7LtqIO17m0Fl1mD2Tf1qyr6Dj5itchOjIsRvgZMrRXfziK_0MhsyeFP7GwAZZkDymrjlp9IYDxxanJ6YNcKbd8t5WhEw5RK62MNGzUlXO0SlEW-0rf6.PNG
Google Cloud Platform(GCP)コンソールでの DML 操作による Cloud Spanner データベースのクエリ

Cloud Spanner で DML を使うことのメリットについては、多くのお客様からフィードバックをいただきました。そうしたお客様の 1 社が大手仮想通貨企業の Blockchain です。「自社のチームのために Cloud Spanner を導入して以来、その使いやすさと既存ツールとのシンプルな統合に感心しています」と、Blockchain のエンジニアリング リードである Lewis Tuff 氏は述べています。「私たちにとって残念だったことの 1 つは、アドホック クエリが簡単にできる SQL DML がサポートされていないことでした。今回それがサポートされ、コードのリリースをさらにスピードアップできると喜んでいます」

さらに、SELECT に加えて書き込みもサポートする Cloud Spanner 用 JDBC ドライバ の新バージョンもリリースしています。この新バージョンでは既存のコードやツール チェーンが再利用しやすくなっていますので、広く普及したオブジェクト リレーショナル マッパ(ORM)との統合が可能です。これにより、Cloud Spanner の新規ユーザーにとっては学習の負担が軽くなり、既存アプリケーションの移植も容易になっています。DML を使い始めるにはこちらのドキュメントをご覧ください。

Cloud Bigtable の Key Visualizer

正式提供が開始された Key Visualizer 機能は、主要なアクセス パターンの可視化を支援し、Cloud Bigtable のスキーマとパフォーマンスの最適化を可能にします。Cloud Bigtable はフルマネージド NoSQL キーバリューおよびワイドカラム データベース サービスです。どのような規模でも高スループットと低レイテンシを実現するように作られており、時系列、グラフ、IoT ワークロードに利用されています。

私たちのもとには、データベース スキーマを最適化し、データベース パフォーマンスを最大限に高めるためにアプリケーションの動作をもっと可視化したいという要望が、開発者の皆さんから多く寄せられていました。そこで私たちは、こうしたニーズに対応するべく Key Visualizer を開発したのです。Key Visualizer は、データベースの使用パターンに関する知見を、データベース機能に影響を与えることなく提供することで、多くの Google チームと Google Cloud のお客様をサポートします。これはお客様が、Google Cloud Platform(GCP)サービスの水平スケーラビリティを最適に利用できるようにデータ モデルを設計し、改良することができるということです。従来この機能はデータベースでは利用できませんでしたが、アプリケーションのパフォーマンスを最大化するためには不可欠です。
Key Visualizer は、キー スペースにおける偏ったアクセス パターン、つまり特定の行が大きすぎること、あるいは特定の行に対する読み取りまたは書き込みが多すぎることによるパフォーマンス問題をデバッグするのに役立ちます。Key Visualizer により、時系列でのアクセス パターンをヒートマップで可視化できるほか、特定のキー範囲や時間範囲にズームして、ホットスポットとなっているキーの詳細を把握することも可能です。

このツールは、テーブルのアクセス パターンに関する明確な知見を提供し、スキーマ設計に起因するパフォーマンス問題を迅速に解決できるよう支援します。Key Visualizer は無料であり、どのような規模でも動作し、Cloud Bigtable のクラスタ パフォーマンスには一切影響を及ぼしません。

Key Visualizer のドキュメントは、問題が見つかった場合にすべきことのガイダンスを提供します。Key Visualizer は、サイズまたはアクティビティの最小基準を少なくとも 1 つ満たすすべての Cloud Bigtable テーブルをスキャンします。Key Visualizer の詳細は以下の動画でご覧になれます。

Key Visualizer は、パフォーマンス目標の達成に向けてベータ版を使ってきたお客様から高い評価をいただいています。

「Cloud Bigtable の Key Visualizer は、Bigtable のホットスポットを迅速かつ視覚的に特定できる優れたツールです」と、OTA Insight の CTO を務める Joeri De Turck 氏は述べています。同社はホテル業界向けの収益管理ツールを提供しています。「このツールは、複数の使用可能なキー スキーマのパフォーマンスを比較し、どれが私たちのワークロードに最も効率的かを評価するうえで大いに役立ちました」

ネット オークションなどを手がける eBay も Key Visualizer のベータ版を使用してきました。「私たちは、150 億行に上る 200 TB 近くのデータを 10 GB / 秒のスループットで処理しており、常にストレージ レベルでデータ アクセス パターンをより良く理解しようと努めています」と、eBay の新商品開発担当データ アーキテクトである Neeraj Jain 氏は述べています。「私たちがいつも注目する 1 つのポイントは、Bigtable クエリによる読み取り / 書き込みの負荷の大きさです。私たちは Key Visualizer を使用することで、負荷の詳細をテーブル レベルで把握できるようになりました。そのおかげで迅速に診断を行えるようになり、データの保存方法をさらに最適化することができました」
今回の正式リリースに合わせて、マルチ指標の表示という新機能も追加しています。この機能では、複数の指標を比べたいときや指標間の相関を見つけたいときに、複数の指標を同時に表示できます。
マルチ指標の表示は次のとおりです。右側はヒートマップの縮小版です。

gLLfWuIngCicRfR5Az1XfODb2jFVUT3eQ64Mj9R2hc8eEYMoleD4sN3Jl8OOJkyrO9mpiwUfD8vb7ijAYU0CElh_nUyf1ZP0vIhtuYQQcofdFAnqh17ucQ1D_D7o8750Lq2ntcr00vq1.PNG

Key Visualizer の使用に関する詳しい情報は、Google Cloud Next '18 でのプレゼンテーションをご覧ください。これは、Twitter のスタッフ ソフトウェア エンジニアである Steve Niemitz 氏と、Google の Misha Brukman、Wim De Pauw が行ったものです。
こうした機能が、マネージド データベース サービスの開発エクスペリエンスを継続的に高め、お客様による迅速なアプリケーション作成に力を発揮します。皆さんが次にどんなものを作られるのか、私たちは楽しみにしています!
- Post by Deepti Srivastava, Product Manager, Cloud Spanner and Misha Brukman, Product Manager, Cloud Bigtable