DynamoDB Streamsについての事前情報
Amazon DynamoDBのアップデートについてちょっとした先出し情報をご案内したいと思います。この機能はAWS re:Inventでデモが発表され、まずは興味のあるみなさまに対して限定的に公開する予定です。
今日、多くのAWSのお客様がDynamoDBをアプリケーションのストレージとして利用しています。キーバリューストアとして利用している方々もいらっしゃれば、リレーショナルなスキーマをNoSQLのコンセプトに基づいて非正規化したデータを格納している方々もいらっしゃいます。また、最近リリースされたばかりのJSONサポートを利用してドキュメントストアとして利用されている方々もいらっしゃいます。
DynamoDB Streams
DynamoDBのテーブルの更新をリアルタイムにトラックしたいという声を非常に多く頂いていました。この背景としては、テーブルのアップデートにあわせて更新されるキャッシュレイヤをつくるためだったり、更新ごとにビジネスロジックを走らせるため、リアルタイムな分析をするため、別リージョンにリードレプリカをつくるためだったりとさまざまな用途が想定できます。
今回紹介するDynamoDB Streamsはこういったユースケースを実現してくれます。この機能を有効にすると、DynamoDBのテーブルに対するすべての更新(Put,Update, Delete)が直近の24時間分保持されるようになり、この更新のストリームデータに対してAPI経由でアクセスできるようになります。このAPIを利用すれば先ほど紹介したようなツールや機能を実装できるはずです。
もしあなたがモバイル、アドテク、ゲーム、ウェブ、IOTなどのアプリケーションをDynamoDBを利用して作っている/運用しているのであれば、この機能を利用することにより、既存のアプリケーションに手を加えることなく、流速の速いテーブルの更新をトラックし、ハンドリングすることができます。最近更新された無料枠(月あたり25GBのストレージと2億回のAPIリクエスト)を活用すれば、非常に小さな金額、もしくは無料でこの機能を試すことができると思います。
この機能はマネージメントコンソールからもアクセスできるようになる予定で、既存のDynamoDBのテーブルに対して「Modify Table」から有効化できるようになります。もちろん新規テーブル作成時にも有効化できます。一度有効化されれば「Sterams」というタブにて更新のストリームを閲覧することができます。
このストリームは、DynamoDBテーブルのWriteプロビジョンスループットの約2倍のReadキャパシティを持ちます。たとえばある特定の大きさのアイテムを秒間1,000回の更新をするのに十分なキャパシティをプロビジョンされたテーブルであれば、秒間2,000回分はストリームから更新を読み取れるでしょう。ストリームはテーブルに対して行われたすべての更新(Put、Update、Delete)を保持します。また、ひとつのアイテムに対しての複数の更新は、その操作が行われた順番に沿ってシリアライズされます。これらのデータは常に直近24時間分が保持されます。テーブル自体が削除されたとしてもその間はストリームに対してアクセス可能です。
なお、Kinesis Client LibraryをDynamoDB Steamsをサポートできるように現在アップデートしているところです。Amazon CloudSearchやAmazon Redshift、その他のAWSのサービスへのコネクタも提供していく予定です。
Get Started Today
既に公開されている一部のドキュメントをご覧いただけばAPIのより詳細な情報を確認することができます。またこのドキュメントには、既に本機能が実装されたDynamoDB Localへのリンクや、本機能対応の更新が含まれたAWS SDK for JavaやKinesis Client Library、そしてマルチマスターのクロスリージョンレプリケーションを実現するためのライブラリなどへのリンク群が含まれています。
このCross Region Replication Libraryは、DynamoDB Streamsを利用して複数のリージョンをまたいでDynamoDBのテーブルをニアリアルタイムに同期するためのライブラリのプレビュー版です。あるひとつのリージョンにあるDynamoDBのテーブルへの更新を自動的に別のリージョンのテーブルへ伝播させてくれます。
このDynamoDB Streamsについては、できるだけ早くみなさまに続報をお伝えしていきたいと思っています。もしこの機能をできるだけ早く使い始めたいという方はぜひこちらのフォームから申し込みをおねがいします!またフィードバックも是非お願い致します!
今井
コメント