これから私達が開発するストレージ・ソリューションが最も一般的なパターンから順に解決することによって、確実に開発者に大きな効果をもたらさなくてはなりませんでした。この分析の結果、三つのパターンが判明しました。
- キーと値のストレージ。Amazonにおけるほとんどのストレージ・パターンはプライマリ・キーによる単一の値かオブジェクトに対するアクセスです。このパターンのためにAmazon S3が開発されました。
- 単純構造のデータ・ストレージ。2つ目に大きなストレージ・パターンは、構造化されたデータセットに対して単純なクエリによってアクセスすることで満たされていました。素早いインデックス生成が巨大なデータセットに対する高速なデータ検索を可能としていました。このパターンのためにAmazon SimpleDBは開発されました。よく見かけるパターンはAmazon S3に保存されたオブジェクトのセカンダリ・キーがSimpleDBに保存されているものです。また、それはS3の(プライマリ)キーのセット内にある検索結果である。
- ブロック・ストレージ。残りの部分は様々なストレージ・パターンがあり、その範囲はZFSのような特殊なファイル・システムからアプリケーションが(キャッシュ・サーバのように)独自のブロック・ストレージを管理するものやリレーショナル・データベースにまで及びます。このカテゴリは多様なストレージ・パターンを実装するための基本的なブロックを提供するAmazon EBSによって処理されます。
さらにAmazon社は価格、耐久性そしてパフォーマンスに関する詳細を公表した(リンク)。その中心となるのは以下の内容である。
- 1GBから1TBの間の容量で利用する。
- ボリュームはフォーマットしていないブロック・デバイスのように振舞う。
- データ・センターにあるSANのようにアクセス制限は同一ゾーン内に限られる。
- ボリュームは一度にひとつのEC2インスタンスにのみ接続できる。
- ひとつのEC2インスタンスは同時に複数のボリュームに接続できる。
- ボリュームはスナップショットによるバックアップをS3に保存することができる。スナップショットはデータの変更部分のみ差分で構成される。
- データ・レプリケーションの効果により完全なボリューム・フェールの発生率は0.1% - 0.5%に抑えられることが見込まれる。同じ容量の市販されているハードディスクでは4%になる。
- 価格は1GB当たり$0.10そして100万I/Oリクエスト当たり$0.10になる。
要するに、私達のデータベース・サーバはかなり高負荷であり毎秒17のトランザクションによりガリガリと働いています。これは毎月$4.40の出費に相当します。一方で私達の監視サーバは、最近行ったいくつかの最適化より前は、24時間×週7日の間ずっと毎秒1000回のランダム・ライト処理を行わせるほど使い倒しました。これは毎月$250もの出費になります!!私が知る限り、多くの場合EBSの処理によるコストは取るに足らないものでしょう。しかし、気を付けていないと高くなってしまいます。
最後に、GigaOM社は今回提供されたサービスに対するビジネス的な分析結果(リンク)を公表し、古典的なデータ・センターに対して警告をしている。
原文はこちらです: