Amazon SimpleDB のデータ管理

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon SimpleDB とは?

Amazon SimpleDBは、高可用性と拡張性を備えたRDBでないデータストアです。 RDBで無いということは、MySQLなどに代表されるデータベースとは異なります。 Amazon SimpleDBは、HTTPによるWebベースのインタフェースを持ち、エクセルのシートを管理するかのようにデータの出し入れをすることができます。

SimpleDBのデータ管理

SimpleDBのデータ管理方法は、エクセルに例えることができます。 ユーザ単位でエクセルファイルがあり、シートをDomainとして管理します。 シートの中には、複数のレコードがあり、Itemとして管理します。 カラムは、Attributeとして管理をして、セルにValueが入ります。

以下の画像はSimpleDBのデータ管理をイメージするために非常に役に立ちます。

Attributeに複数の値を持つ

先ほどエクセルを例として挙げましたが、SimpleDBはエクセルと違う点があります。それは、Attributeに値を複数持つことができる点です。

以下の画像は値を持たないAttributeの例と複数の値を持つ例を確認することができます。

Domain内の検索

RDBではないSimpleDBですが、QueryによりDomain内を検索することができます。例えば、上記の画像にあるDomainを検索する場合、以下のようにQueryを書くことができます。

select * from MyStore where Category = 'Clothes'

MyStoreというドメインから、Attribute名がCategoryで値がClothesであるItemを検索しています。結果として、Item_01とItem_02が出力されます。

Itemの追加・更新・削除

SimpleDBには、Itemの追加・更新・削除を行うことができます。追加をするにはPutAttributesというAPIを使います。更新をするには同じくPutAttributeを使って該当するItemのAttributeを上書きします。削除するにはDeleteAttributesというAPIを用います。AWSでは、SimpleDBのUIを提供していませんので、サードパーティのツールを使うか、REST形式のAPIを直接扱うことになります。APIの使い方については別の回でご紹介する予定です。

Domainの削除

エクセルのシートに相当するDomainを削除することもできます。DeleteDomainを用います。ただし、Domainを削除すると、その中になる全てのItemが消えてしまいもとに戻りませんので注意が必要です。

まとめ

Amazon SimpleDBは、その名の通り大変シンプルで、かつ、耐久性や可用性に優れたインターネット上のデータストアとして大きな可能性を秘めたサービスだと思います。 しかし、既存のデータベースで管理されているデータを全て置き換えるというものではなく、エクセルのように管理したいメタデータなどの管理に向いているのではないでしょうか。 用法を理解して楽しく活用しましょう。