Amazon SimpleDB の一貫性オプション

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

Amazon SimpleDB は結果整合性を保証する

Amazon SimpleDBは、RDBとは異なりデータをエクセルのシートのように保存する耐久性や可用性に優れたインターネット上のデータストアであることをご紹介しました。この、耐久性と可用性を実現するために、Amazon S3と同じように分散されたデータストレージを使っています。そのため、読み取り一貫性と結果整合性に関する問題というか特性を理解しておく必要があります。

ConsistentRead = true

Amazon SimpleDBは、メタデータを保存するなどトランザクションに関わることも多々あり、常に最新のデータを取得したいニーズがありました。そこで出てくるのがConsistetReadオプションです。これは、初期状態でfalseに設定されており動作速度を高速に保っています。trueに設定することで多少動作は遅くなりますが、耐久性と可用性を維持しつつ、読み取り時(GetAttributesとSelect)に常に最新の情報を返してくれます。

結果整合性と読み取り一貫性の特徴

結果整合性の特徴は、古いデータを読む可能性があり、待ち時間最小で、高い処理能力を発揮します。一方、読み取り一貫性の特徴は、古いデータは読まず、待ち時間が長い可能性があり、低い処理能力になる可能性があります。

まとめ

読み取り一貫性オプションの使いどころは、エクセルのシートのような形のカラムを動的に決められるデータ保存用としての活用はもちろん、読み取り一貫性オプションの指定によってトランザクションデータの保存用としても活用できることが分かりました。 AWSのサービスには、結果整合性を保証するサービスがいくつかあります。Amazon S3とSQSです。これらのサービスのトランザクション処理用としてAmazon SimpleDBを活用されてはいかがでしょうか。用法を理解して楽しく活用しましょう。