スケーラビリティを犠牲に一貫性を選択可能に
Amazon SimpleDBに一貫性保証の新オプション
2010/02/25
米Amazon Web Servicesは2月24日、Amazon SimpleDBにデータ読み出し時の一貫性を保証する機能を追加したと発表した。これまでSimpleDBでは読み出したデータが最新のものである保証がなかったが、SelectやGetAttributesの読み出しAPI利用時にオプションで「ConsistentRead=true」を指定することで、確実に最新データを読み出せるようになる。ただし、この場合、読み出しに遅延が発生する。
ConsistentReadオプションのデフォルト値はfalseなので、特に指定しなければ、従来のアプリケーションはそのまま動く。新機能は、利用者からのフィードバックに基づいて実装したという。
Amazonのような分散環境では、応答性能を落とさずにシステムをスケールさせるために、ストアしたデータの一貫性を「eventually Consistent」(最終的には一貫性がある)と呼ぶモデルに基づいてシステムを構築している。一貫性を確実に保つためには、ほかのプロセスによる書き換えが同時に発生しないよう、ロック機構などに頼ることになるが、これは大規模分散環境ではパフォーマンス上大きな問題となる。一般に、システム全体でデータの一貫性を高く保つことと、応答性を上げることはトレードオフの関係にある。
Eventually consistent read | Consistent read | |
---|---|---|
読み出し遅延 | 小さい | 大きい |
読み出し速度 | 速い | 遅い |
読み出したデータ | 古い可能性あり | 常に最新 |
2つのモデルの違い
Eventually consistent readでは、読み出したデータが、すでにほかのアプリケーションによって書き換え済みという可能性がある。こうしたデータの矛盾が起こるのは、同じデータに対して1秒以内に複数の操作を行った場合だけという。
書き込み系のAPI、「PutAttributes」「DeleteAttributes」でも新たに条件付き実行の機能が追加された。特定の属性が指定した値である場合にのみ、操作を行うことができる。この機能を使うことでカウンタを実装することが容易にできるほか、Consistent Readと組み合わせることで、OCC(Optimistic Concurrency Control:楽観的並行性制御)に基づいた処理を容易に実装できるようになるという。
OCCは、ほとんどのケースでデータ書き換えが衝突しないことが分かっている場合にパフォーマンスを稼ぐアプローチ。ロック機構を使う代わりに、競合が発生していないという楽観的な仮定の元に書き換え操作を行う。実際に競合が検知されたら操作を中止する。こうしたOCCは、同一データに複数ユーザーもしくはアプリケーションが操作を行う可能性があるWebアプリケーションなどで有効だという。
関連記事
情報をお寄せください:
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
生成AIとAR/VRで失った個性を取り戻す――2025年のSNS大予測(Instagram編)
万能だが特徴のはっきりしない「何でも屋」と化したInstagram。2025年の進化の方向性を予...
「AIネイティブ世代」の誕生 10代のAI活用度合いは?
博報堂DYホールディングスのHuman-Centered AI Instituteは、AIに対する現状の生活者意識...
低品質コンテンツがSEOに与える影響は? 低品質になってしまう4つの原因と改善方法
検索エンジンのランキングアルゴリズムの妨げとなる低品質コンテンツは、検索順位の低下...