[アップデート] Amazon Aurora PostgreSQL 16.3 がリリースされたので、Babelfish 4.2 のアップデート内容を確認してみた

[アップデート] Amazon Aurora PostgreSQL 16.3 がリリースされたので、Babelfish 4.2 のアップデート内容を確認してみた

Clock Icon2024.08.11

いわさです。

先日 Aurora PostgreSQL 16.3 がリリースされました。

https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-aurora-postgresql-new-version-support/

Aurora PostgreSQL には SQL Server 互換の Babelfish という機能があります。
Aurora PostgreSQL 16.3 にあわせて Babelfish のバージョンも 4.2.0 になりました。
どこまで純正の SQL Server に近づいたのかを毎度楽しみにしています。

どうやら前回の Aurora PostgreSQL 16.2 (Babelfish 4.1.0) の確認を忘れていたようでして、4.1.0 で注目の機能があればそれも一緒に確認してみようかなと思います。

更新履歴

Babelfish バージョンごとの変更点はこちらのリリースノートを確認します。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraBabelfish.Updates.html

  • Bebelfish 4.1.0
  • Bebelfish 4.2.0
    • PostgreSQL ネイティブの論理レプリケーションをサポート
    • RDS Blue/Green デプロイメントのサポート
    • GRANT/REVOKE .. ON SCHEMA .. をサポート
    • グループセキュリティベースの Active Directory 認証をサポート
    • SQL Server データベースの名前変更をサポート
    • 他にも色々

前バージョンの Babelfish 4.1.0 は機械学習/生成 AI に関連した機能強化が中心となっており、Babelfish 4.2.0 は今まで出来なかったことが色々と出来るようになってます。
というか 4.2.0 すごくないですか。頑張ったな、えらい!

RDS の Blue/Green デプロイは制約もりもりなのですが、その中のひとつとして Babelfish for Aurora PostgreSQL が未サポートでしたが遂にサポートされました。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments-overview.html

バージョン確認

作成はいつもの流れです。
Aurora PostgreSQL の対象バージョンを新規作成し、作成の際の Babelfish 有効オプションの ON にします。
SQL Server に依存するパラメータやモードがいくつかあるのですがそのあたりは割愛します。

C0F9AF42-BDCB-48F6-A049-47FBFEEDC629.png

なお、バージョン選択あたりの Babelfish に関する表記が少し変わってました。

6A307A3C-0936-4AD6-ABDA-619683317EA5_4_5005_c.jpeg

「Microsoft SQL Server から Aurora PostgreSQL への移行をより迅速、安価、低リスクで行えます」ほう?

作成後、いつものようにまずは psql で PostgreSQL として接続して Babelfish 拡張のバージョンを確認してみます。

% psql -h hoge0810aurora.cluster-cpnu9ipu74g4.ap-northeast-1.rds.amazonaws.com -U postgres -d babelfish_db
Password for user postgres: 
psql (14.11 (Homebrew), server 16.3)
WARNING: psql major version 14, server major version 16.
         Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

babelfish_db=> SELECT aurora_version() AS aurora_version, version() AS postgresql_version, sys.version() AS Babelfish_compatibility, sys.SERVERPROPERTY('BabelfishVersion') AS Babelfish_Version;
 aurora_version |                                       postgresql_version                                        |                           babelfish_compatibility                           | babelfish_version 
----------------+-------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+-------------------
 16.3.0         | PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (GCC) 9.5.0, 64-bit | Babelfish for Aurora PostgreSQL with SQL Server Compatibility - 12.0.2000.8+| 4.2.0
                |                                                                                                 | Jul 19 2024 16:31:28                                                       +| 
                |                                                                                                 | Copyright (c) Amazon Web Services                                          +| 
                |                                                                                                 | PostgreSQL 16.3 on x86_64-pc-linux-gnu (Babelfish 4.2.0)                    | 
(1 row)

babelfish_db=> 

Babelfish 4.2.0 ですね。SQL Server の互換性表記は12.0.2000.8+のままです。

Blue/Green デプロイを確認してみる

Babelfish での Blue/Green デプロイですが、Aurora PostgreSQL の仕組みを実行するだけです。
なので普通にクラスターを選択してメニューから「ブルー/グリーンデプロイの作成」を実行します。

223B13BB-C80E-44B7-8451-511CAAF4B71D.png

なお、Aurora PostgreSQL の Blue/Green デプロイについてはこちらの記事でとても詳細に手順が解説されています。

https://dev.classmethod.jp/articles/amazon-rds-blue-green-deployments-aurora-postgresql/

Blue/Green デプロイでは Babelfish 4.2.0 でサポートされた PostgreSQL 論理レプリケーションの仕組みを使っていますが、デフォルトで設定がオフになっているのでカスタムパラメータで ON にする必要があります。

Blue/Green Deployments require a DB cluster with logical replication enabled

75AF5A4B-9ABA-4F5B-9DD9-58AE633C6709.png

論理レプリケーションを ON にして再実行します。

418777A5-8832-4101-8F87-38003539F137_4_5005_c.jpeg

無事グリーン環境の作成が開始されました。

D634F308-E79A-4D68-97D7-8D5AB8D9BE3D.png

なお Aurora PostgreSQL 16.2 (Babelfish 4.1.0) 以前で Blue/Green デプロイを実行しようとすると、次のように Babelfish ではサポートされていない旨が表示されそもそも開始することは出来ませんでした。

D9F20FB9-C912-4661-BE31-599DE7C59188.png

さいごに

本日は Amazon Aurora PostgreSQL 16.3 がリリースされたので、Babelfish 4.2 のアップデート内容を確認してみました。

Blue/Green デプロイ機能が使えるようになったのは結構インパクトがあると思いました。
あとは GRANT/REVOKE .. ON SCHEMA がサポートされたり、SQL Server ワークロードで必要となりがちな Active Directory 認証周りも強化されていたりと、確実に進化している感じがしますね、素晴らしい。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.