【re:Invent 2017】Auroraの新機能がでたので聞いてきた

Aurora, AWS, re:Invent, re:Invent2017

【DAT301】 Deep Dive on the Amazon Aurora MySQL-compatible Edition

AuroraのDeep Dive のセッションなのでAuroraの仕組みについての話もありましたが、日本でも何度か紹介されている内容でしたので今回は省略して、新機能の紹介に絞ります。

Batched scans (coming soon)

Full scanやIndex full scan などをスキャンしてくれる機能です。
中々便利だと思いました。

Hash join (coming soon)

ハッシュ結合に対応するそうです。

Aurora Serverless (new)

Lambdaと同じような感じで、利用されているときだけ立ち上がって、使われていないときは起動しないようなイメージです。課金は1秒単位の最低1分からです。
構成的には、「アプリケーション⇒Database end-point⇒Request router⇒インスタンス(SCALABLE DB CAPACITYとありますがWarmなインスタンスがあるイメージです)⇒DATABASE STORAGE」というような感じになっています。

Database end-point のプロビジョニング

Aurora Serverless のデータベースを作るときに、アプリケーションコネクタ用のVPCエンドポイントができて、Request router がコネクションを張れるように初期化されます。その後ストレージが作られてプロビジョニング終了といった感じです。
インスタンスに関しては、最初の1リクエストの時のみプロビジョニングされるそうです。

インスタンスのプロビジョニングとスケール

最初のリクエストでインスタンスがプロビジョニングされるわけですが、だいたい1~3秒のようで、スケールアップやスケールダウン、またはワークロードの変更なども同じく1~3秒でできるようです。
またユーザが定義した非アクティブ期間に従ってインスタンスは停止するようです。
あとスケール中にセッションが切られることは無いとのことです。

Aurora Multi-Master (new)

この機能はすごいですね。マルチリージョンでのマルチマスター機能も発表されていました。

Aurora Parallel Query (new)

キーノートでは発表されていませんでしが、実は一番インパクトのある発表です。パフォーマンスが5倍とか25倍近く改善されるいうものです。

ストレージフリートを使って、クエリを並列に実行するというもののようです。データに近いところで処理をさせることで、ネットワークのトラフィックやレイテンシーを小さくさせるようです。

まとめ

Aurora Serverless はコンセプトとか非常に興味があります。まだわからないところも多いので、まずはプレビューを申し込んで試してみようかと思います。
また今回個人的に期待していたAmazon Aurora PostgreSQLの東京でのGAの発表がなかったのは少し残念でした。