2022年Google発表の新サービス紹介〜 第1回 RDBMS「AlloyDB」でビジネスを加速 !
- AlloyDB
2022年にGoogleが発表した新サービスから抜粋し、データ活用を推進する上で注目のプロダクトを2回にわたりご紹介します。第1回目はAlloyDBについて解説します。
尚本記事の一部はData Analytics /Database OnAir「AlloyDB for PostgreSQL 概要とアーキテクチャ」を出典元として参照しています。
目次
PostgreSQL互換のクラウドネイティブRDBMS「AlloyDB」
Google Cloud(GCP)の新たなデータベースプロダクトとしてクラウドネイティブのRDBMS「AlloyDB(プレビュー版)」が2022年 5 月12日に発表されました。
Googleはクラウドネイティブなデータベースとして既にSpanner・Firestore(Datastore)・Bigtableを提供していますが、オープンソースデータベースであるPostgreSQL14互換のクラウドネイティブなデータベースプロダクトとして今回新たに誕生したのがAlloyDB。
マネージドサードパーティデータベースを含めたGoogleが提供するデータベースプロダクトを整理すると、2022年現在下図のようになり様々なニーズに対応した構成となっています。
AlloyDBはクラウド上で動く前提のもとに最適化された設計と開発がされ、標準の PostgreSQLと比較し高いパフォーマンスを実現します。
AlloyDBの特徴
PostgreSQLとの高い互換性と共にベンダーロックインなしでコマーシャルグレードなパフォーマンスや機能を備え、商用データベースとオープンソースデータベースのギャップを埋め、データベースのモダナイゼーションを可能にします。
優れたコストパフォーマンス
AlloyDBは非常にコストパフォーマンスが優れたデータベースとなっており、既存データベースプロダクトと同じパフォーマンスを発揮するのに大きすぎるインスタンスサイズを必要とせず、低コストで同じパフォーマンスが提供できる点が特徴として挙げられます。
標準的なPostgreSQLと比較してOLTPワークロードで4倍、分析クエリで最大100倍高速の稼働を可能とするデータベースとなっています。
<パフォーマンス>
- 標準的なPostgreSQLと比較してOLTPワークロードでスループットが4倍高速
- 標準的なPostgreSQLと比較し分析クエリが最大でレイテンシーが100倍高速
高速な分析クエリは単一ノードの中でカラム型の列指向エンジンを活用し、レイテンシー短くクエリを返すことで実現されています。
高い可用性と高いスケーラビリティ
クラウドネイティブのRDBMSとしてAlloyDBの高いスケーラビリティや高可用性は特筆すべき点となります。
<高可用性>
- SLA:メンテナンスによるダウンタイムを含めて99.99%
- 障害回復:自動で検知しフェイルオーバーや修復を実施
- マルチゾーンアーキテクチャ:ゾーン障害にも対応
- 管理オペレーション:ストレージのスケーリングなど無停止で実行
AlloyDBは障害を自動検知し60秒以内の回復などデータサイズや負荷を問わず高速な障害回復を期待できSLAは99.99%。
プライマリへのアクセス、フェイルオーバー後のアクセス共に同じIPアドレスで実行し一定の時間でフェイルオーバーを完了します(フェイルオーバーの時間をDNS伝搬に依存しないため)。
<高いスケーラビリティ>
- 最大のインスタンスサイズまで線形にスケールする書き込み
- 1000vCPU以上でも線形にスケール読み込み
- 水平にスケールするデータベースに最適化されたストレージ
プライマリとレプリカは同じストレージを共有し、ストレージ側でデータを所有。データのコピーを不要とするためレプリカの迅速な起動を可能にしています。
プライマリへの書き込み時にはログのみを読み取り、プールノードへ反映するため最小のラグでキャッシュを反映する点も特徴となります。
リアルタイム分析
標準的なPostgreSQLと比較し100倍高速な分析クエリによりリアルタイム分析を実行します。
- 最大100倍高速な分析クエリ
- スキーマやアプリケーションの変更は不要
- 分析用のインデックスが不要
- 機械学習を活用した自動的なキャッシュ生成
列指向のキャッシュ(カラムナキャッシュ)を用い分析処理を高速化。通常列指向のキャッシュ(カラムナキャッシュ)を利用する場合、スキーマやアプリケーションの変更が必要になりますが、AlloyDBの場合は変更不要で利用が可能です。
カラムナキャッシュを利用することで分析用のインデックスも不要となる可能性が高く、OLTP性能についても好影響が期待されます。DRAM上に標準のPostgreSQL同様に、行形式の共有バッファが配置され更に列指向のキャッシュ(カラムナフォーマット)を持つことで高速の分析処理を可能にしています。
またキャッシュの生成に於いて機械学習を利用しワークロードに応じ自動的にキャッシュを生成します。従来のPostgreSQLではEコマース上でのレコメンデーション用アプリなどのユースケースに対し、優れた性能を発揮するように調整することは困難でした。
トランザクションのパフォーマンスに影響が発生してリアルタイム性が損なわれることがありましたが、AlloyDBはスキーマの変更やアプリケーションの変更、ETL処理も必要なくカラム型エンジンを有効活用して分析クエリの高速化を図ることでリアルタイム分析を可能にします。
インテリジェント
Vertex AIと連携することでデータベース内での推論を可能にし、機械学習を含んだトランザクション実行が高いスループットで可能となります。
- Google Cloud(GCP)のAI/ML技術をデータベースへ活用
- Vertex AIとの連携によりデータベース内で推論を実行
- トランザクションを高スループット、低遅延で可能に
Vertex AIでモデル作成後、AlloyDBからSQLでVertex AIから結果を得る等が可能です。例えば金融領域で不正の検知への活用などモデルデータから推論を実行し、自動で不正を見つけ出すリアルタイム検知などへの導入が期待できます。
その他、メモリやVacuumの管理、ストレージの階層化、データのカラムナ化とリクエストのリライトを機械学習を活用し容易に運用負荷を下げることもできます。
GoogleはAIを駆使しデータベーストランザクション内で機械学習から直接モデルを推論することを重点的に進めています。
Vertex AIとの連携によりPythonなどのアプリケーションコーディングが得意ではないエンジニアでも簡単にオンライン予測モデルを使うことができます。
現在 Google Cloud(GCP)のリレーショナルデータベースではAlloyDBとSpannerがクエリ言語を用いてAIモデルの構築が可能となっています。
AlloyDBのアーキテクチャ
高可用性と高いスケーラビリティを実現する AlloyDBのアーキテクチャですが、Google Cloud(GCP)の既存プロダクトであるBigQueryやSpannerで培った「コンピュート」と「ストレージ」の分離という原則をAlloyDBのあらゆるレイヤーへ持ち込み、高可用性とスケーラビリティを実現するクラウドネイティブの特徴的な構成となっています。
メリットとして、CPU負荷であればコンピュートのみスケール、ストレージの容量やI/Oの負荷であればストレージのみスケール、というように分離して柔軟で効率的にスケールをする点が挙げられます。
<コンピュート>
プライマリ・フェイルオーバーレプリカ・読み込みプールノードの3つで構成。
- 「プライマリ」:読み込み書き込みを処理
- 「フェイルオーバーレプリカ」:プライマリ障害時のフェイルオーバー先
- 「読み取りプールノード」:読み取り専用のレプリカ(最大20まで利用可能)
<ストレージ>
- コンピュートの「プライマリ」への書き込み時にストレージエンジンへ書き込み差分のログのみを書き込み、書き込みの効率をアップ
- ストレージ内でもコンピュートとストレージを分離
-
- 「リージョナルログストレージ」
ログを書き込むためのストレージで、プライマリからの書き込みに一貫性と耐久性を確保。
-
- 「ログプロセッシングサービス」
ログからブロックを書き出す操作は非同期的に行われ、コンピューティングであるログプロセッシングサービスがブロックを生成し高スループットを生み出します。書き込みが多い場合はログプロセッシングサービスが水平方向にスケールし急激なスパイクに対応。
-
- 「リージョナルブロックストレージ」
生成されたブロックを保存するストレージ。「読み取りプールノード」や「プライマリ」にキャッシュを返す際にブロックを返却。
AlloyDBのリソースは、クラスタという概念が導入され全てのリソースがクラスタの中に含まれ管理単位がクラスタとなります。
コンピューティングのキャパシティとして、プライマリインスタンス、プライマリレプリカを利用可能でフェイルオーバーレプリカにフェイルオーバーした際にもプライマリと同じIPアドレスを引き継ぐことが可能で、アプリケーションから見た向き先への配慮の必要はありません。
AlloyDBは読み取りプールという概念を導入し、読み取りを効率化。読み取りプール内に複数のノードを作成しクラスタの中で用途に応じた管理を実現。I Pアドレスが読み取りプールごとに割り当てられ、OLTPリードを行うリソースとOLAPを行うリードのリソースの分離をすることができます。
費用
AlloyDBの費用は予測しやすく明朗な料金モデルとなっており、CPU、メモリ、ストレージそれぞれの料金で構成されています。必要な時に必要なサイズのインスタンスの利用、ワークロードに応じた配分となります。
Google Cloud(GCP)の他のRDBMSと料金のモデル構成が異なりますが費用の比較をしてみます。
【Google Cloud(GCP) RDBMS 料金構成】
- AlloyDB :CPU / メモリ / ストレージ
- Cloud SQL :CPUとメモリ / ストレージとネットワーク / インスタンス
- Cloud Spanner:ノード数 / ストレージ数
【製品 / 構成例 / 費用】
-AlloyDB-
-
- 構成例A:CPU4core / MEM 16GiB / Storage 1TiB / HA / 月額費用169,233円
- 構成例B:CPU2core / MEM 16GiB / Storage 100GiB / non-HA / 月額費用45,610円
-Cloud SQL-
- 構成例A:CPU4core / MEM 16GiB / Storage 1TiB / HA / 月額費用135,538円
- 構成例B:CPU8core / MEM 32GiB / Storage 1TiB / HA / non-HA / 月額費用208,401円
Cloud SQLとAlloyDBのCPU、メモリ、ストレージを同じ条件で比較した場合、AlloyDBが金額面では高くなるもののOLTPワークロードでスループットが4倍高速となるなどパフォーマンス面が優れる内容となります。
※上記、AlloyDB「構成例A」とCloudSQL「構成例Aの同スペックで比較
小さなスペックで済む場合はCloud SQLがコストパフォーマンスで優れています。
高い性能などスペックが求められる場合にはAlloyDBの選択を考えるなどが良いでしょう。
Google Cloud(GCP)のRDBMSプロダクトの料金の計算方法はそれぞれ異なるため単純な比較は難しいですが、それぞれ優れた面があり用途を前提の検討をしてみてはいかがでしょうか。
AlloyDBの導入はどういったケースが想定されるか
導入を考える上でのポイントを解説します。
AlloyDBはインスタンスサイズの変更を短いダウンタイムで提供でき、また障害の検知から復旧が自動で1分以内に回復するといった点は導入に際して注目したい一つ目のポイントです。
大規模なアクセスに対し停止時間なくスケーリングすることが求められるようなエンタープライズ向けにも適しています。
二つ目として、従来のPostgreSQLと比較して最大 100 倍高速な分析クエリ処理性能とVertex AIとの統合など機械学習に対応したリアルタイムで先進的な分析へも対応している点が挙げられます。
三つ目は従来のSQLを使用したいというケースなどで検討したいデータベースです。
<注目したいポイント>
- 高可用性・持続性
CloudSQLよりも障害に強くインスタンスサイズの変更の時間が高速 - リアルタイムで先進的な分析を実現
機械学習に対応したHTAPデータベース - 従来のSQLを使いたい
Postgre14対応
導入が想定されるケースとして、サービスが止まったら困る分野、例えばBtoBであれば医療や物流領域などで選択しやすいデータベースといえます。
BtoCであればECサイトで数量が限定された商材の在庫管理に適していると言えます。短期間に非常に負荷が集中するようなケースなどでAlloyDBは重くなりづらいなどの優位性があります。
<導入が想定されるケース 例>
- BtoBにおいて医療や物流などサービスが止まったら困る分野
- 数量限定商材の在庫管理で急激に負荷が集中するようなECサイト
まとめ
オンプレミス環境からシステムのクラウド環境への移行が進む中、OracleデータベースやSQLサーバーなど現在使用している商用データベースのクラウド化に際し、モダナイズを踏まえ移行先を検討している企業も多いと思います。
AlloyDBはクラウドネイティブの時代に相応しいスケーラブルかつ可用性の高いクラウドデータベースで、エンタープライズ向け機能を拡充したトップティアのRDBMSです。
PostgreSQL14互換で、これまでのスケール上の課題に対しRDBMSの堅牢さや設計の柔軟性が兼ね備えられており商用データベースとオープンソースデータベースのギャップを埋め、更にGoogleのAIやML(マシーンラーニング)のDNAを組み込み運用面の負担軽減も加味し移行先として検討したいプロダクトです。
データベースのモダナイゼーションを検討の際には、Google Cloud(GCP)専業ベンダーのトップゲートまでご連絡ください。
メール登録者数3万人!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!