eventually consistent read と strong consistent read

App engineの1.3.2から導入されるという,eventually consistent readのインパクトを知りたくて検索していたところ,Amazon SimpleDBの記事を見つけた.SimpleDBは,AmazonのWeb Services の一つで,NoSQLデータベース.この記事はSimpleDBに最近追加された変更についての記事.

SimpleDB と App Engine

どうも,SimpleDBはApp Engineのデータストアとは逆で,これまでEventually Consistent readしか提供していなかったのだが,最近になって,Strong Consistent readを追加した,ということらしい.

この記事によるEventually とstrongの違いは,前者が,特定の条件下で読み出した値が,直前の書き込みを反映していない場合があるが,その代償として速い.とのこと.

  • eventually: 古い読み出した値を読んでしまう可能性がある.スループット大,レイテンシ小
  • strong: 常に最新の書き込みを反映した値を読み出せる,スループット小,レイテンシ大

テストしてみた

レイテンシがちがうというのなら,ということで,1.3.2 preでテストしてみた.が,クラウド環境ではできないので,ローカル環境で.

が,ローカル環境では特に違いは見られなかった.残念.正式リリースが出て,クラウド環境で使えるようになったもう一度テストしてみよう.

併せて読みたい.eventual consistency is not that scary