ニュース
Google、PostgreSQL互換のクラウドデータベース「AlloyDB for PostgreSQL」を発表
2022年5月13日 06:15
米Googleは年次イベント「Google I/O 2022」において、PostgreSQL完全互換のクラウド上のデータベースサービス「AlloyDB for PostgreSQL」(以下、AlloyDB)を発表した。現在はプレビュー段階になる。
AlloyDBでは、Oracleなどの商用データベースからの移行を想定している。また、分析クエリのための機能を持つのも特徴だ。
AlloyDBについて、日本の報道陣向けの説明会が5月12日に開催された。以下、その説明内容をレポートする。
商用データベースからの移行を想定したPostgreSQL完全互換
グーグル・クラウド・ジャパン合同会社 ソリューション&テクノロジー部門 技術部長(データクラウド)の寳野雄太氏は、まずGoogleのオペレーショナルデータベースのサービスを、マネージドサードパーティデータベースと、Google独自のクラウドネイティブデータベースの2つに大きく分類して説明した。
ここでマネージドサードパーティデータベースとは、OSSや商業データベースをマネージドサービスとして提供するものを指し、既存のシステムを移行しやすいのが特徴だ。また、Google独自のクラウドネイティブデータベースとは、Google自身の処理のために鍛え上げた技術を使ったもので、Cloud Spannerなどがある。
なお、Cloud Spannerでは2021年に、PostgreSQLインターフェイスもプレビューとして発表されている。
「PostgreSQLへの要望をお客さまから、日本でも世界でも非常に多くいただいている」と寳野氏は語る。特に、Oracle DatabaseやSQL Server、DB2などの商用データベースから移行してモダナイズする先として、PostgreSQLが選ばれるという。
しかし、スケールやパフォーマンス、可用性、管理の容易性など、商用グレードの機能を求める顧客にとっては素のオープンソースのデータベースだけでは難しい、と寳野氏は述べた。
そのために作られたのがAlloyDBだ。PostgreSQLとの完全互換性を持つデータベースに、クラウドネイティブのアーキテクチャを持ち込み、さらにAI/MLによる管理の容易さを併せ持つという。
寳野氏は、PostgreSQLそのもののマネージドサービスであるCloud SQL for PostgreSQL for PostgreSQLと、クラウドネイティブデータベースのCloud SpannerのPostgreSQLインターフェイス、そしてPostgreSQL完全互換でクラウドネイティブアーキテクチャのAlloyDBの3つを並べ、顧客それぞれに最適な形でPostgreSQLのモダナイゼーションを支援する、と語った。
特にAlloyDBとCloud Spannerとの違いについては、AlloyDBは現在PostgreSQLや商用DBを使っていてアプリケーションを変更せずに移行したい用途に向いていると説明。一方のCloud Spannerは、書き込みも含む無制限の水平スケーラビリティやグローバル分散が特徴だと説明した。
AlloyDBの特徴とアーキテクチャ
AlloyDBの特徴やアーキテクチャについては、グーグル・クラウド・ジャパン合同会社 ソリューション&テクノロジー部門 データベース ソリューションの江川大地氏が解説した。
江川氏はAlloyDBの特徴を、「高い可用性」「高いスケーラビリティ」「インテリジェント」「優れたパフォーマンス」「PostgreSQLとの互換性」「予測しやすく明朗な料金モデル」を中心に説明した。
パフォーマンス
パフォーマンスにおいては、2022年3月のGoogle Cloudでのテスト結果から、標準的なPostgreSQLと比べてOLTPワークロードにおいて4倍高速という数字を示した。特にvCPUが64個のときだけでなく16個のときにも高いパフォーマンスを出し、64個でもきちんとスケールしているとし、スモールスタートして事業が大きくなったら大きくすることが可能だとした。
また、分析のクエリでも最大で100倍高速という数字も紹介。後述するカラム型キャッシュがうまく機能したときに効果が出るとした。
PostgreSQLとの互換性、料金モデル
PostgreSQLとの互換性については、PostgreSQL 14との互換性を持ち、175以上のフラグ(設定パラメータ)や50以上の拡張(extension)をサポートしていると説明。これにより、既存のPostgreSQLアプリケーションを、そのままコードの変更なしに移行可能であると語った。
料金モデルについては、ライセンス課金やI/O課金なしで予測しやすいことを江川氏は挙げた。CPU&メモリ料金は時間とメモリ容量によって決まり、ストレージ料金はプロビジョニングした容量でなく格納したデータ容量によって決まる。ネットワーク料金は、リージョン内およびingress(データが入ってくる側)についてはかからない。
AlloyDBの内部構成
ここで江川氏はAlloyDBの内部構成について解説した。Cloud SpannerなどGoogleのクラウドネイティブデータベースでは、コンピュートとストレージの分離によって高いスケーラビリティを実現している。この構成がAlloyDBでも採用されている。
コンピュートの部分は、プライマリとフェイルーバーレプリカ、読み取り用プールノードに分かれる。プライマリから書き込むときは、ログ(WAL。変更内容)だけがストレージエンジンに送られ、ストレージエンジンはWALの内容を処理してデータをGoogleの分散ファイルシステムのColossusに書き込む。
この構成によって、プライマリのところでは堅牢性や一貫性を保証し、低レイテンシで高速になる。そしてスケーラブルな処理やパフォーマンスを実現するという。
信頼性と可用性、スケーラビリティ
信頼性と可用性としては、メンテナンスを含めて99.99%のSLAを予定しているという。さらに、60秒以内かつ予測可能という自動で高速な障害回復を実現。さらに、プライマリとレプリカは別のゾーンに置くマルチゾーンアーキテクチャや、例えばストレージの増量のような従来のデータベースでは停止を伴う管理操作も無停止でできることを江川氏は挙げた。
スケーラビリティとしては、コンピュートがプライマリもレプリカもストレージを共有しているアーキテクチャにより、データの移動やコピーなしに最大20台のレプリカをサポートする。
また、レプリカプール(読み取り用プールノード)として複数のインスタンスが作れる。それによって、用途ごとにノードを分けることができ、例えばOLTPのノードと分析系のノードを分けてそれぞれに適したキャッシュが乗るようにもできるという。
その結果、1000 vCPU以上でも線形にスケールすると江川氏は説明した。
分析クエリ
そのほか、AlloyDBでは分析の機能も備え、リアルタイム分析にも対応し、前述したように最大100倍高速な分析型クエリを実現する。これを実現する特徴の1つがカラム型キャッシュで、アプリケーションやスキーマの変更なしに分析型クエリを高速化するという。またキャッシュは、列を利用する側で指定することも、AI/MLで自動的に生成することも可能。
カラム型キャッシュを使うには、AlloyDBのフラグで有効にする。それにより、通常の列形式のキャッシュから列形式で持つように変換される。
データベース移行プログラムも用意
最後に日本企業の期待の声を、グーグル・クラウド・ジャパン合同会社 データ・プラットフォーム 事業開発部長の大久保順氏が紹介した。
大久保氏は、野村総合研究所(NRI)、株式会社プレイド(PLAID)、株式会社ソウゾウ(souzoh)、Ubie株式会社の期待のメッセージを紹介し、PostgreSQLとの互換性によりアプリケーション修正が不要なことや、「高い可用性とスケーラビリティ、トランザクション処理と分析クエリのハイブリッド処理をご評価いただき、期待をいただいている」と語った。
また大久保氏は、Database Migration Service(DMS)において、OracleからPostgreSQLへのスキーマ変換とデータ移行に対応した(プレビュー版)ことが先日発表されたと紹介した。
さらに、4月に発表されたデータベース移行プログラムも紹介した。データベースをAlloyDBをはじめとするマネージドデータベースに移行するときに、移行の計画や戦略の策定の支援や、ツールの提供、パートナーとの連携、移行費用の一部負担することで、移行を促進する包括的なプログラムだと大久保氏は説明した。