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