Amazon SimpleDB は、可用性と柔軟性に優れ、データベース管理の負担を軽減する、NoSQL データストアです。開発者は、データ項目の格納と照会をウェブサービスリクエスト経由で行うだけで、残りの処理は Amazon SimpleDB によって自動的に実行されます。

リレーショナルデータベースの厳格な要件の制約を受けない Amazon SimpleDB は、高い可用性と柔軟性を実現するように最適化されていますが、管理の負担はほとんどありません。その裏で、Amazon SimpleDB は、地理的に分散した場所でユーザーのデータの複数のレプリカを作成、管理し、高可用性とデータの堅牢性を可能にしています。実際にデータを格納し、リクエストを処理することで消費したリソースのみにサービスの請求が発生します。オンザフライでデータモデルを変更することができ、ユーザーのためにデータが自動的にインデックス化されます。Amazon SimpleDB を使用すれば、インフラストラクチャのプロビジョニング、高可用性、ソフトウェアのメンテナンス、スキーマとインデックス管理、またはパフォーマンスチューニングといったことを心配せずに、アプリケーションの開発に集中することができます。



このサービスにより、困難で時間のかかるデータベース管理よりも、付加価値のあるアプリケーション開発に集中できます。Amazon SimpleDB によって自動的に、インフラストラクチャのプロビジョニング、ハードウェアとソフトウェアのメンテナンス、データ項目のレプリケーションとインデックス化、パフォーマンス調整の管理が行われます。

Amazon SimpleDB は、ユーザーが格納した各データ項目地理的に分散した複数のコピーを自動的に作成します。これによって、高い可用性と堅牢性が提供されます–万が一1つのレプリカに障害が起きた場合は、Amazon SimpleDB はシステム内で別のレプリカを作成することによって障害を迂回します。

ビジネスが変化しても、またアプリケーションが進化しても、厳格なスキーマの破壊やコードのリファクタリングについて憂慮することなく、これらの変化を Amazon SimpleDB 内で簡単に反映させることができます – 必要に応じて、別の属性をお客様の Amazon SimpleDB データセットに追加するだけです。整合性がある、または結果的に整合性がある読み込みリクエストの間で選択して、お客様のアプリケーション、またはお客様のアプリケーション内の別々の要素の需要に対し、読み込みパフォーマンス(レイテンシーとスループット)と整合性の要件を満たすための柔軟性を得ることができます。

Amazon SimpleDB は、複雑で使用されないことが多いその他のデータベース運用を除外しながら、従来リレーショナルデータベースクラスターを使用して行っていたストアおよびクエリ機能に対して、合理化されたアクセスを提供しています。このサービスにより、簡単な API 呼び出し群を通じてすばやくデータを追加し、そのデータを編集できます。

Amazon SimpleDB は、Amazon S3 および EC2 などの他の AWS サービスに簡単に統合できるように設計されており、ウェブ規模のアプリケーションを作成するためのインフラストラクチャを提供しています。例えば、開発者は自分のアプリケーションを Amazon EC2 で実行でき、データ オブジェクトを Amazon S3 に格納できます。その後、Amazon SimpleDB を使用して Amazon EC2 内のアプリケーションからオブジェクト メタデータをクエリし、Amazon S3 に格納されているオブジェクトへポインターを返すことができます。 また開発者は、関係および非リレーショナルデータベースのニーズを有するアプリケーションのために、Amazon RDS と連動させて Amazon SimpleDB を使用することができます。Amazon SimpleDB と同じリージョン内の他の Amazon Web Services の間で転送されるデータは無料です。

Amazon SimpleDB は、ユーザーのアプリケーションまたはクライアントとユーザーのドメイン間で、セキュアで暗号化されたコミュニケーションを保証する HTTPS エンドポイントを提供します。さらに、AWS Identity and Access Management との統合を通じて、特定の SimpleDB ドメインとオペレーションへのアクセスに対してユーザーまたはグループレベルのコントロールを確立します。

Amazon SimpleDB は、Amazon が持つ規模の経済的メリットをお客様にもたらします。費用は実際に利用したリソースに対してのみ発生します。つまり、Amazon SimpleDB の場合では、データストアの読み込み・書き込みに対して、各オペレーションで消費された計算リソースのみに課金されることを意味します。それらをアクティブの状態で使用していない場合(リクエストの作成など)、計算リソースに対して課金されることはありません。

Amazon SimpleDB では、データベースのプロダクション環境での稼動に必要な作業負荷が完全になくなるため、多くの開発者達がこれを、条件やイベント、ステータス更新、継続するアクティビティ、ワークフロー処理、デバイスやアプリケーションの状態についての情報をロギングするための理想的で手間のかからないデータストアと認識しています。Amazon SimpleDB により、高い費用対効果で、これらのデータログを「設定したら後はおまかせ」的に、以下のような多様な目的のために使用することができます:

  • モニタリングまたはトラッキング
  • 計測
  • ビジネストレンド分析
  • 監査
  • アーカイブや規制のコンプライアンス

以下のような適用例があります:

  • 集中的にサーバーログを格納して、それらが実行中の各サーバー上で消費するスペースを削減
  • 後の分析のために実行中のパフォーマンスの運用上のメトリックスや結果をロギング
  • アプリケーションやネットワークデバイスのアクセスエントリや設定変更を監査
  • 様々なロケーションにおける環境状況(温度、気圧レベル、湿度など)のキャプチャと監視、および特定の状況に対するアラートのプログラミング
  • オブジェクトやワークフローにおけるアクティビティのプロセス状況に関する地理位置情報のロギングやトラッキング

Amazon SimpleDB には複数の属性があるため、データログ用の理想的なデータストアとなります:

  • 可用性の高い集中処理 – お客様のデータログが複数のデバイス/オブジェクト、アプリケーション、またはプロセスサイロに局地的に閉じ込められているなら、クラウド内の 1 か所に集中されたデータにアクセスすることができるという利点をお楽しみいただけるでしょう。それに加え、Amazon SimpleDB は自動的かつ地理的に冗長的に、お客様のデータを複製して高い可用性を保証します。つまり、集中型の社内ソリューションとは異なり、Amazon SimpleDB は単一 障害点ではないため、お客様のデータは必要な時に利用できる状態となっています。すべてのデータは、1つのソリューションにより、ウェブサービスのリクエスト経由で保管できます。その後任意のデバイスによってアクセスすることができます。
  • 管理が不要 – 簡単なウェブサービスのリクエストによってデータ項目を格納します。その後はアマゾン ウェブ サービスがお引き受けします。当サービスの "set it and forget it (設定したら後はおまかせ)" の性質は、データログを保存して管理するために、データベース管理に時間を費やす必要がないということを意味します。
  • 高い費用対効果 – Amazon SimpleDB では、データログ格納やクエリ問い合わせを手頃な価格でご利用いただけます。実際に使った分だけ支払いを行う従量課金制ため、独自の容量プランニングやデータベース負荷の心配をする必要がありません。当サービスはデータ転送のリクエストにシンプルに対応し、実際に消費されたリソースに対してのみ課金を行います。

可用性と拡張性に優れ、管理の手間がかからない Amazon SimpleDB は、ユーザーやゲームのデータを保管するためのデータベースソリューションとして、あらゆるプラットフォームのオンラインゲームに利用できます。

Amazon SimpleDB で保存、インデックス化、クエリができるオンラインゲームの一般的データには、以下のものがあります:

  • ユーザーのスコアと結果
  • ユーザー設定またはプリファレンス
  • プレーヤーのアイテムまたはユーザーが生成したコンテンツの情報
  • ゲームセッションの状態(プレイが保存または中断される場合)
  • ダイナミックゲームコンテンツ(サービス志向アーキテクチャをゲームに適用し、Amazon SimpleDB でプレーヤーのために新しい課題やコンテンツを保存したり、サービスを提供したりします。)
  • お客様のゲームに使用されて、Amazon S3 に記録された大量オブジェクトのインデックス化されたメタデータ

Amazon SimpleDB の複数プロパティは、オンラインゲームデータ用のデータストアとして最適です:

  • 高可用性(自動化された地理的冗長レプリケーションおよびフェイルオーバー): Amazon SimpleDB は、データの複数のコピーを自動的に作成して、1つのコピーが利用できなくなる場合には、利用できるコピーを使ってフェールオーバを管理することによって高可用性を実現します。つまり、データベースクラスタの複雑なセットアップを避けることができます。その一方でお客様のゲームやユーザーには、重要なデータに対して、信頼性が高く、障害とは無縁なアクセスを提供します。
  • 管理不要の拡張性: ユーザーベースが拡大してプレーヤーのアクティビティが変動するのに従って、Amazon SimpleDB は、開発者の手を煩わせることなく、行き来するトラフィックやリクエストのボリュームにうまく対応します。お支払いいただくのは、実際に消費したリソースの分だけです。
  • 管理雑務が無用: データ管理の煩わしさを回避でき、インフラストラクチャのプロビジョニング、ソフトウェアのセットアップ、スキーマの作成や管理、インデックスの構築、クエリ性能の調整といった作業が排除されます。これにより、データベース管理者の仕事から解放され、楽しいゲームや機能の開発に専念できます。

多くの開発者が、Amazon SimpleDB を Amazon Simple Storage Service(Amazon S3)と組み合わせて使用しています。Amazon SimpleDB は、Amazon S3 オブジェクトのロケーションやオブジェクト(メタデータ)の詳細情報へのポインタを格納するために使用できます。そのため、データベースの豊富なクエリ機能で Amazon S3 を補完しています。Amazon S3 に莫大な数のオブジェクトを格納する開発者にとって、Amazon SimpleDB は、オブジェクトメタデータを格納するための、柔軟で拡張性ある安価な手段となります。また、データベースの運用に伴う管理雑務のすべての負荷がこれにより軽減されます。Amazon SimpleDB 内で簡単に格納、インデックス化、クエリ問い合わせを行えるオブジェクトメタデータの一般的な例には、以下が挙げられます。

  • 日付タイプまたは形式(画像、動画、文書)
  • ユーザーの関連付けまたはアクセス指定
  • オブジェクトが作成、アクセス、または修正された日付
  • 関連オブジェクトの名前またはロケーション
  • ユーザー評価およびコメント
  • 件名またはカテゴリタグ
  • 地理位置情報タグ

上記に列挙された例のようなメタデータを格納することは、コンテンツ配信、メディアアプリケーション、アプリケーションのバックアップやアーカイブ化、およびその他様々なアプリケーションタイプにとって価値のあることです。Amazon SimpleDB には以下のような特徴があるため、メタデータにとって理想的なホームとなります。

  • 柔軟でスキーマなしの設計: 厳格なスキーマを「破る」ことなく、その他のメタデータ属性を簡単に添付できます。動画オブジェクトに対するユーザー評価のトラッキングを開始したい場合でも、時間のかかるデータベース変更は必要ありません。
  • 複数値のある属性: メタデータ属性に、複数の値を持たせることができます。つまり、写真を複数の人々、または複数のジャンルからなる音楽ファイルでタグ付けすることができます。
  • 管理雑務が無用: データベースを実行するのに必要な、インフラストラクチャのプロビジョニング、ソフトウェアのインストールやメンテナンスの面倒が取り除かれるだけでなく、Amazon SimpleDB はお客様のデータを自動的にインデックス化し、クエリ性能を調整し、地理的に冗長なデータコピーを作成します。

Amazon SimpleDB ではまた、手間いらずの拡張機能、リクエストボリュームの変更に対する自動応答機能が提供されるだけでなく、実際に消費されたリソース分に対してのみ、低額な料金が課金されます。