Cloud Spanner の新機能のまとめ(Google Cloud Next ’23)

Google Cloud Japan Team
※この投稿は米国時間 2023 年 9 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。
最大 99.999% の可用性を提供する、Google の水平スケーリング対応フルマネージド データベースである Cloud Spanner のユーザーにとって、この数週間はとてもエキサイティングな日々でした。Google Cloud Next ‘23 に至るまでの間、そして Google Cloud Next ‘23 では、Data Boost の使用によるトランザクション データと分析データ間でのデータサイロの解消、Google の常時稼働している生成 AI コラボレーター「Duet AI」とのインテグレーション、自動生成キーを使用した、スキーマ作成者による重要なアイデンティティ ロジックのデータベースへのプッシュダウンの実現など、いくつかの大きな発表がありました。それぞれの発表について、さらに掘り下げていきましょう。
Data Boost を使用して、トランザクション データに対する分離された分析クエリを実行する
Google Cloud Next ’23 では、Cloud Spanner Data Boost の一般提供が発表されました。Cloud Spanner Data Boost は、分析、レポート、ML などをサポートするために、ワークロードを分離して運用データをオンデマンドで処理することに優れている画期的な技術です。
Data Boost は、コンピューティングとストレージが分離された Google のアーキテクチャを利用することで、既存のトランザクション ワークロードにほとんど影響を与えずに、分析クエリをストレージ レイヤで直接処理するオンデマンドの分離されたコンピューティング リソースを提供します。さらに、ほぼ無限のスケール、グローバルな外部整合性、比類のない可用性といった Cloud Spanner の長所もすべて兼ね備えています。
Data Boost を使用すれば、自信を持ってトランザクション データベースに対してバッチ ワークロードや分析ワークロードを実行したり、広範なデータ共有を可能にしたりできます。アナリストやその他のユーザーは、レイテンシに敏感なトランザクション ワークロードに影響を与えることもアクセス制御を犠牲にすることもなく、最新のデータにアクセスできます。何より素晴らしいのは、おそらくコーヒーを飲みながらすべてのセットアップを完了でき、もう一杯飲み終わる頃にはもう全体的な運用費が下がっているかもしれない、ということです。
Data Boost の実際の様子については、Next ‘23 のセッションをご覧ください。このブログ投稿では、Data Boost の詳細を確認できます。Data Boost を有効にする方法については、ドキュメントに記載されているガイダンスを参考にしてください。
Spanner Studio で Duet AI の支援を受けて SQL を記述する
Google は、Spanner と Duet AI のプレビュー版も発表しました。このプレビュー版では、ブラウザ上で動作する Cloud Spanner Studio に緊密に統合された AI 支援型の SQL 機能により、IDE のような堅牢なエクスペリエンスがもたらされます。
Spanner ユーザーは、サードパーティの IDE や SQL クライアントを使用して、テーブルの定義、アドホック クエリの実行、既存データの更新を行うことが少なくありません。使用するクライアントを選択してダウンロードし、安全な接続を構成する必要があるだけでなく、Google Cloud コンソールと外部クライアント間でのコンテキストの切り替えが邪魔となり、ワークフローの速度が低下する可能性もあります。大規模で複雑なプロジェクトに携わる開発者は、新しいコードベースや言語を理解するために多くの時間と認知的な労力を費やしています。
Spanner Studio の 3 つの大きな改善により、Spanner ユーザーはより効率的にデータを探索、管理できるようになりました。
オブジェクト エクスプローラ - 使い慣れたツリー階層のようなデータベース構造を操作できます。
改良された SQL エディタ - データの構造化、変更、クエリを、単一のインターフェースから実行できます。
Duet AI の支援 - Cloud Spanner の Duet AI では、特殊な大規模言語モデル(LLM)を使用して、複数行の SQL の補完と自然言語プロンプトからの SQL ステートメントの生成を行うことができます。
これらの機能は、データ管理機能の強化を求める長年の要望に応えたものです。また、Duet AI により、Spanner コンソールの機能と使いやすさが格段に向上し、ユーザーは簡単にデータを操作できるようになりました。
Duet AI と Spanner の実際の様子については、Next ‘23 のデータベース基調講演のこちらのセッションをご覧ください。Spanner で Duet AI を使用する方法の詳細については、Google のドキュメントをご覧ください。
自動生成キーを使用してアイデンティティ ロジックをデータベースに push する
最後に、スキーマ作成者が重要なアイデンティティ ロジックをデータベースにプッシュダウンできるよう、Spanner での自動生成キーへの対応を発表しました。これにより、アプリケーション コードが簡素化され、エラーや不整合が発生する可能性が減ります。また、自動生成キーは、キーが整数シーケンスに基づくことを前提とするリレーショナル データベースからの移行にも役立ちます。Spanner のすべての機能と同様に、自動生成キーは、アプリケーションのライフサイクル全体にわたってスケーラビリティと可用性、パフォーマンスが損なわれないようにゼロから設計されています。
自動生成キーのリリースにより、データベースで主キーを生成する 2 つの新しい方法として UUID と整数シーケンスが Cloud Spanner に加わりました。
Spanner ではデフォルトで主キーに Universally Unique Identifier(UUID)を使用することをおすすめしています。UUID は、公開されている仕様(RFC 4122)を使用して生成される 128 ビットの識別子です。テーブルで PostgreSQL 言語または GoogleSQL 言語のデータベースの新しい GENERATE_UUID() 関数を主キーのデフォルト値式で使用して、新しい行に UUID v4 値を自動的に入力できます。
既存のスキーマで整数の主キーを使用しているお客様のために、Spanner では主キーの DEFAULT 式の一部として一意の整数を生成する SEQUENCE オブジェクトが提供されるようになりました。ただし、単調なシーケンスとは異なり、Spanner シーケンスによって生成される値は均等に分散されるため、大規模なホットスポット化は発生しません。PostgreSQL では nextval() 関数、GoogleSQL では GET_NEXT_SEQUENCE_VALUE() を使用して、デフォルトの式でそのシーケンスから値を生成できます。
Spanner を使用して自動生成されるキーの詳細については、リリースに関するブログ投稿、または GoogleSQL と PostgreSQL のドキュメントをご覧ください。
Next ‘23 では、お客様がどのように Spanner を利用してビジネスを拡大し、エンドユーザーにサービスを提供しているかについてもご紹介しました。CERC が Spanner のイノベーションを利用してどのように為替債権市場に革命をもたらしたかについては、こちらのセッションの録画をご覧ください。また、Spanner 上で Google 広告と Gmail をどのように実行して最高レベルの可用性と信頼性を獲得しているかについては、こちらのセッションの録画をご覧ください。
しかし、この取り組みはまだ終わりではありません。今後も Spanner のイノベーションに関する最新情報をご確認いただければと思いますが、それまでの間、Spanner の独自性や使用例の詳細をご覧ください。または、90 日間無料で、あるいは月額わずか 65 米ドルで、中断を伴う再構築やダウンタイムなしでビジネスの成長に合わせて拡張できる本番環境対応のインスタンスを実際にお試しください。
- シニア プロダクト マネージャー Mohit Gulati