クラウド+DB:Amazon SimpleDBって?

文:Tony Patton(TechRepublic) 翻訳校正:原井彰弘
2008-01-31 16:00:00
  • このエントリーをはてなブックマークに追加

コンセプト

 SimpleDBでは、リレーショナルデータベースにあった制約がいくつか取り除かれている。たとえば、SimpleDBのデータはドメインという単位で整理されている。クエリは、ドメインに含まれているすべてのデータに対して実行することも可能なのである。このドメインはアイテムで構成されており、アイテムは属性と値からなるペアで表現されている。

 このようなデータ構造を、Amazonではスプレッドシートでたとえて説明している。

  • カスタマーアカウント:利用者のSimpleDBアカウントはスプレッドシートと考えることができる。一つのスプレッドシートには複数のシートが含まれることもある。
  • ドメイン:スプレッドシートのコンテナに含まれている個々のシートは、ドメインと呼ばれる。ドメインは、リレーショナルデータベースの世界でいうテーブルに相当する。クエリやそのほかのデータ操作すべてでは、ドメインをデータソースとして用いる。SimpleDBでは、それぞれのドメインについて常に複数のコピーが存在するようにしている。そうすることで、データの冗長性を保つのだ。
  • アイテム:ドメイン(個々のシート)内の個々の行は、アイテムと呼ばれる。アイテムには、一つかそれ以上の属性名と値のペアが含まれている。
  • 属性:ドメイン(シート)の個々の列は属性と呼ばれる。属性は、アイテムに割り当てられるデータの分類のために利用される。
  • 値:ドメイン(シート)に含まれている個々のセルは値と呼ばれる。値は属性のインスタンスか実際の値である。

 このコンセプトを用いると、データ構造を簡単に扱えるようになる(それでも最初はコンセプトが少々ややこしく感じるかもしれないが)。

サービスの利用

 SimpleDBでデータを操作するために必要なAPIは少ししかない。それらのAPIを用いるだけで、ドメインやそれぞれのドメインに含まれる個々のアイテム、属性、値を作成して操作を行うことが可能なのだ。以下に、SimpleDBのトランザクションを利用する上で関係のあるコンポーネントを紹介しよう。

  • サブスクライバ:SimpleDBウェブサービスを呼び出す際には、常に固有のアクセスキーが必要となる。このキーはIDの役割を果たしているほか、課金管理を行うために利用される。
  • リクエスト:SimpleDBウェブサービスの呼び出しとデータの送信
  • レスポンス:SimpleDBウェブサービスからの返答とデータの受信

 Amazonでは、SimpleDBのサンプルコードを多数提供している。しかし、サービスがまだベータ段階であることもあり、アクセスは制限されている。

  • コメント(1件)
#1 thesecret   2008-03-08 15:26:09
普通のデータベースの代替品で運用とか基盤を考えなくていい、、という話だと、
パフォーマンス面の問題があるし、ネットワークが切れたらサービス停止とかいうことになりそうなのだけど、
思いっきりデータを公開するという意味での使い方だと良いような気がします。
現状、公開APIと呼ばれるものだと、検索クエリーは限られたものになるし、不可思議な制限(たとえばAmazonのAPIは1秒1回とか・・)があったりするわけだけど、
データベースとして公開してくれれば、いろいろなサービスを組み合わせるにも、都合がいいところがあると思います。
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]