Amazon DynamoDB Accelerator(DAX) Webinar視聴メモ
なぜか久しぶりにブログを更新したくなったのでライトな内容ですが、先日聞いたAmazon DynamoDB Accelerator(DAX)のWebinarの視聴メモを上げてみます。
視聴メモ
- DynamoDB専用のキャッシュで10x程度の高速化が見込めるとともにProvisioned Capacityを下げることでコストの低減も見込める。
- APIはDynamoDBと互換性があるので、クライアントを入れ替えるだけで透過的に使える。
- CreateTableとかDeleteTableとかのAPIは使えない
- デモだとレイテンシは通常のDynamoDBアクセスと比べて1/10〜1/20になってた。
- GetItemが0.25msくらい
- インスタンスタイプを選んでクラスタを立ち上げる。クラスタはVPC内で立ち上がる。
- スケールアップは244GBまで可能
- スケールアウトは10レプリカまで可能
- PutItemとかGetItemで使われるItemキャッシュとqueryとかscanで使われるQueryキャッシュが分かれている。
- 書き込み時だけじゃなくてキャッシュミス時にも自動でキャッシュがpopulateされる。
- WriteBack(新しい値を書き込む時にDAXに書き込んだら結果を返し、DAXが後で非同期でDynamoDBに書き込む)はまだ利用できない。
- アプリとクラスタの関係は1:1、1:多、多:1、多:多の何でもオッケー
- キャッシュEvictionは以下の3パターン
- TTL: デフォルト5分
- LRU:デフォルトでオンでオフにはできない
- WriteThrough: 新しい値を書き込んだ時に行われる
- マニュアルでフラッシュするAPIは無い。
感想とか気になった点
- インスタンスの料金以外に追加で料金がかかるのかが気になる。
- アプリとDynamoDBの間に1レイヤ入るので、クラスタが落ちてたときとかの挙動が気になる。
- サンプルプログラムでクライアントにコンフィグファイルを渡してたが、どんな内容のコンフィグファイルなのかが気になる。
- かなり簡単で良さそうだけど、DBから取り出すデータとキャッシュが1:1じゃない関係でキャッシュしたい場合もあるからRedisとかでキャッシュするのがなくなるわけでは無さそう。