AWSはAmazon DynamoDB Accelerator (DAX)のプレビューを発表した。これは、完全にマネージドなライトスルーキャッシュサービスであり、論理的にはDynamoDBの前に置かれ、読み込みの激しいワークロードのパフォーマンスを改善する。DAXはDynamoDBとAPIの互換性があるため、既存のアプリケーションはコードを変更することなくDAXを使うことができる。プレビューはJava SDKのみサポートしている。
Amazon DynamoDBは完全にマネージドでスケーラブルなNoSQLデータベースであり、ドキュメントとキーバリューの両方のモデルを保存できる。AWSブログによれば、DynamoDBはアドテク、IoT、ゲーム、Eコマース、ファイナンスで活用され、一つのDynamoDBテーブルで100テラバイトを超えるデータを保存しているユーザーもおり、1秒間で数百万の読み書きのリクエストを受けている。DAXは結果整合で読み込みが激しいワークロードに対して、さらに高速なインメモリ性能を提供するために作られた。
DAXは3つのシナリオに対応する。
- インメモリキャッシュとして、DAXは結果整合の読み込みのワークロードの遅延を大きく低減する。ミリ秒がマイクロ秒になる。
- DAXはDynamoDBとAPIの互換性のあるマネージドサービスとして提供されるので運用の複雑さとアプリケーションの複雑さを低減する。既存のアプリケーションに導入するにはわずかな変更だけすればいい。
- 読み込みの激しいワークロードやバーストに対応するため、DAXは段階的なスループットを提供し、読み取りキャパシティユニットのオーバープロビジョン を削減することで潜在的な運用コストを下げる。これは、ホットキーを持つアプリケーションや大規模なデータをDynamoDBに保持している場合の読み込みのスループットに特に有利だ。
マネージドサービスとして、DAXのクラスタはAWSのUIから作ることができる。ソフトウェアのパッチ適用やクラスタのメンテナンス、レプリケーション、障害管理は全て自動化されている(メンテナンスウィンドウは指定できる)。DAXのクラスタは1から10のノードを含み、全体の読み込みスループットを向上させるためにノードを追加できる。キャッシュのサイズはノードのサイズに基づき、dax.r3.largeからdax.r3.8xlargeまであり、これはクラスタが初期化された時に定義される。クラスタはVPC内で動作し、ノードはアベイラビリティゾーンに分散する。
現在のプレビューでは、DynamoDB Java SDKのAPIのみサポートしている。新しいJava向けのDAX SDKはDAXと通信するのに使う必要がある。ドキュメントによれば、このSDKは遅延を低め高スループットを実現するために低いレベルのTCPのインターフェースを使ってクラスタと通信するからだ。 他の言語でのDAXへのアクセスは製品のロードマップにある。
DAXの開発者ガイドによれば、次のようなユースケースに適している。
- 読み込みのレスポンス時間を可能な限り最短にする必要があるアプリケーション。
- 小さな項目を頻繁に読み出すアプリケーション。例えば、"ホット"キーと均一でないデータの分散の影響を緩和するのに、読み込みをDAXのキャッシュにオフロードする。
- 読み込みが激しく、かつコストに厳しいアプリケーション。DAXを使えば、読み込みをDynamoDBのテーブルからDAXへオフロードできる。これによって、読み込みのキャパシティユニットの削減し、他のことに利用できる。
- 大規模なデータから反復的に読み取りを行うアプリケーション。例えば、データ分析のようなユースケースではDynamoDBの読み込みキャパシティを一時的に使い尽くす場合がある。これは同じデータを使っている、他のアプリケーションに対して良くない影響を与える。DAXで分析をキャッシュで行うようにすることができる。
一方、次のようなケースにはDAXは適していない。
- 強い一貫性を持つ読み込みが必要なアプリケーション。または、結果整合な読み込みを許容できない場合(ただし、DAXは一貫性のある読み込みを処理する場合はDynamoDBのテーブルを参照するように構成できる)。
- マイクロ秒レベルのレスポンス時間が不要なアプリケーション
- 書き込みの激しいアプリケーション。あまり読み込みをしないアプリケーション。
- DynamoDBに別のキャッシュを導入しており、そのキャッシュのために独自のクライアントサイドの実装があるアプリケーション。
Amazon DAXのプレビューはUS East (Northern Virginia)、US West (Oregon)、EU (Ireland)で利用できる。このプレビューには料金はかからない。さらに詳しい情報はDAX開発者ガイドにある。
Rate this Article
- Editor Review
- Chief Editor Action