Google Cloud の新サービスとして、AlloyDB for PostgreSQLのリリースが発表され、Previewとして利用できるようになりました。
AlloyDB for PostgreSQLは、オープンソースDBであるPostgreSQLとの互換性を維持しつつ、DBに最適化されたストレージアーキテクチャを採用されています。
さらにAI・機械学習による最適化などによって高速化し、SLA 99.99%(予定)の高可用性、リニアなスケーラビリティ、AI・機械学習による運用管理の自動化なども実現できるとのことです。
このようなAlloyDB for PostgreSQLの特徴を紹介していきます。
PostgreSQL完全互換
現時点ではPostgreSQL14と互換性があります。
PostgreSQL 14との互換性をもつだけでなく、175以上の設定パラメータや50以上の拡張をサポートしている。
そして、既存のPostgreSQLアプリケーションをそのままコードの変更なしに移行可能である。
トランザクション処理はPostgresの最大約4倍、AmazonのAuroraより2倍速い
Gutmans氏いわく、オープンソースのPostgresの最大約4倍、Amazonの同等サービス(「Aurora」)の約2倍速いらしい。
通常のPostgreSQLよりOLTPが4倍、OLAPが100倍高速に
標準的なPostgreSQLに比べて最大4倍のスループット、100倍高速なレイテンシを実現しているとのこと。
パフォーマンスにおいては、2022年3月のGoogle Cloudでのテスト結果から、標準的なPostgreSQLと比べてOLTPワークロードにおいて4倍高速という数字を示した。
vCPUが64個のときだけでなく16個のときにも高いパフォーマンスを出し、64個でもきちんとスケールしているとし、スモールスタートして事業が大きくなったら大きくすることが可能だとしている。
カラム型キャッシュがうまく機能したときに分析のクエリでも最大で100倍高速とした結果が出た。
分析クエリを高速化しているのがAI・機械学習による「カラム型キャッシュ」機能
本来行指向データベースであるPostgreSQLに列指向データベースとしての特性を透過的に加えることで、メモリ上でカラムデータを保持する様になり、クエリ側は特殊な記法などは無く列指向のスキャンが行えるようになっています。
カラム型キャッシュ機能によって、AI・機械学習がワークロードの内容に基づいてキャッシュすべき行を自動選択し、さらに行形式/列形式の動的変換も行うことで、カラム型(列形式)データを多用する分析クエリもindexが不要であるため削除することで負荷削減などによって大幅に高速化し、また行指向、列指向と複数レイヤーのキャッシュを活用することで、費用対効果の高いパフォーマンスが実現する。
他に、Vertex AI1で開発したモデルをSQLの関数で呼び出し、AlloyDB内で簡単に推論処理を実行できる。
AI・機械学習による運用管理の自動化
AI/機械学習によるDBの運用管理面でも活用されており、ワークロードの状況に応じて自動的にVacuumを行ったり、Vacuum時にワークロードが使っていないメモリを転用して実行します。
また、ストレージの階層化やメモリ管理、パッチの適用やバックアップ、レプリケーションの判断なども自動化されています。
これらはAlloyDB用の機械学習モデルにより運用されます。
高可用性・高速メンテナンス
AlloyDBは高可用性・高速メンテナンスも実現しており、メンテナンスを含めて99.99%の高可用性 SLAを実現(予定)します。
DB障害を60秒以内に自動検出/回復させる機能が盛り込まれているため、ほとんどのデータベース障害を数秒以内に自動的に検出して回復し、メンテナンスも同様に数秒で完了します。
料金について
AWSのAuroraとは異なりStorage I/O課金は発生しません。
vCPUコア数・メモリ料金は時間とメモリ容量によって決まり、ストレージ料金はプロビジョニングした容量でなく格納したデータ容量(使用した分だけが課金対象)によって決まる。
そしてストレージは自動的にスケールするため、注意が必要です。
ネットワーク料金は、リージョン内およびデータが入ってくる側についてはかからない。
-
Vertex AIはGoogle Cloudの機械学習関連のサービスを統合したプラットフォームです。 ↩