CDP:Storage Indexパターン
From AWS-CloudDesignPattern
インターネットストレージの効率化
Contents |
解決したい課題
耐久性が高く、可用性の高いインターネットストレージはデータが分散配置されており、またインターネット経由でアクセスするため、頻繁なアクセスや検索など操作はパフォーマンスが悪い。また高度な検索機能は用意されていない場合があり、特定ユーザーがもつデータ一覧を取得したり、特定の日付範囲の値を取るなどの操作を行い場合は、アプリケーション側で工夫が必要になる。
クラウドでの解決/パターンの説明
インターネットストレージへデータを格納する際に、同時に検索性能の高いKVSへメタ情報を格納し、その情報をインデックスとして利用する。
検索時はKVSを用い、得られた結果をもとにインターネットストレージへアクセスする。
実装
- Amazon S3へデータを格納する。格納後、S3のパスやデータサイズ、格納時間などをAmazon SimpleDBもしくはAmazon DynamoDBに格納する
- 検索や集計を行う際に、SimpleDB/DynamoDBを利用して処理を行う
- 結果をもとに、S3からデータを取得する
構造
利点
- 堅牢で大容量なストレージ機能と、高い検索性の両方を利用出来る
注意
- S3内のデータと、KVSのインデックス情報にミスマッチが発生すると、正しい検索結果が得られないため、かならずデータ操作とインデックス登録を同時に行うアプリケーションを通して、データを操作する必要がある