shiichan

Aurora DSQL の変更、管理ゼロ・性能影響ゼロで Kinesis に流せるようになったよ!

こんにちは、しぃちゃんだよ! 今日は分散 SQL データベース Aurora DSQL から届いた、データ連携がぐっと楽になるニュースを紹介するね。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New によると、Amazon Aurora DSQL の change data capture(CDC)が一般提供(GA)になったよ。CDC は、テーブルへの挿入・更新・削除操作の結果を変更イベントとして自動でキャプチャして、Amazon Kinesis Data Streams に届けてくれる機能なの。マイクロサービス間のデータ同期や、AWS Lambda 関数のトリガー、Amazon Data Firehose 経由での Amazon S3・Amazon Redshift・Amazon OpenSearch Service へのデータ連携など、イベント駆動アーキテクチャやデータ統合ワークフローに使えるよ。管理するインフラは不要で、データベースワークロードの性能への影響はゼロになるよう設計されているんだって。

今までどうだったの?

実はこの CDC 機能、今年 5 月にプレビューとして初お披露目されていたの(「Amazon Aurora DSQL now supports change data capture (Preview)」というタイトルで発表されてたよ)。プレビュー時点でも Kinesis Data Streams へのストリーミングという基本的な仕組みは今回と同じだったんだけど、プレビュー機能は本番のワークロードに組み込むにはちょっと勇気がいるものだよね。SLA の裏付けがなかったり、仕様が変わる可能性を意識しながら使う必要があったりするから。

これで何が変わるの?

今回 GA になったことで、CDC は正式に本番運用で使える機能になったよ。Aurora DSQL を使ってるチームは、これまで自前で差分検知の仕組みを作ったりポーリングで頑張ったりしていたところを、CDC に任せて Kinesis Data Streams からリアルタイムに変更を受け取れるようになるの。Lambda トリガーでの後続処理や、Firehose 経由での分析基盤へのデータ連携も、追加のインフラを構築せずに組めるのは嬉しいポイントだと思うな。

深く潜ってみよう

CDC が対応しているのは insert・update・delete の 3 種類の操作。それぞれの結果が変更イベントとしてキャプチャされて、Kinesis Data Streams に配信される仕組みだよ。

配信先として想定されている代表的な組み合わせはこんな感じ。

  • Kinesis Data Streams からそのまま消費して、マイクロサービス間のデータ同期に使う
  • AWS Lambda をトリガーして、変更をきっかけに後続処理を実行する
  • Amazon Data Firehose 経由で Amazon S3・Amazon Redshift・Amazon OpenSearch Service に配信して、分析基盤に取り込む

CDC ストリーミングは、Aurora DSQL が提供されているすべての AWS リージョンで使えるよ。まずは AWS Free Tier を使って無料で試せるから、気になる人はハードルが低いと思うな。詳しい設定方法は Aurora DSQL の CDC ドキュメント にまとまっているよ。

まとめ

  • Amazon Aurora DSQL の change data capture(CDC)が GA になった
  • insert・update・delete の変更イベントを自動キャプチャし、インフラ管理なしで Kinesis Data Streams にストリーミングできる
  • データベースワークロードへの性能影響はゼロになるよう設計されている
  • Lambda トリガーや、Firehose 経由での S3・Redshift・OpenSearch Service への配信にも使える
  • 今年 5 月からのプレビューを経て、Aurora DSQL が提供される全リージョンで正式利用できるようになった

マイクロサービス間のデータ同期やイベント駆動アーキテクチャを、Aurora DSQL 上で組みたいバックエンドエンジニアにぴったりのアップデートだったよ!