2011年6月12日日曜日

key-valueストアについて

Software Design (ソフトウェア デザイン) 2010年 02月号より。

key-valueストアとは
key-valueストアとは、
キーと値の組み合わせを書き込み、キーを指定することで値を読み出せるデータベース管理ソフトウェア。

key-valueストアの強み
一般的に、次の特徴がある。
  1. 高い性能
  2. 高いスケーラビリティ
  3. 高い可用性(含耐故障性)

key-valueストアが割り切っていること
  1. シンプルな問い合わせ方法(問い合わせ方法がキー1つの指定)
  2. 細かい単位に限られたatomic(不可分)な読み書き。
    つまり、楽観的(optimistic)なトランザクション処理。
    多くのkey-alueストアは、CAS(compare-and-swap)という条件付き更新要求を受け付ける
  3. 複製間のゆるい整合性
    多くのkey-valueストアでは整合性モデル(consistency model)でいうeventual consistencyというところまで緩めている。
    つまり、どの複製を読むかによっては更新前の値が読み出されるのを許容、しかし、「いつかは必ず(eventualy)」更新後のデータは全ての複製に伝わる

key-valueストアの使いどころ
上記の強みを活かせ、割り切った点に目を瞑れる場合というコト。

各種key-valueストア
  1. Flare
    開発者:藤本真樹(twitter)
  2. kumofs
    開発者:古橋貞之(twitter)
  3. ROMA
    開発者:西澤無我(Facebook)
  4. Tokyo Cabiet/Tokyo Tyrant
    開発者:平林幹雄(twitter)
  5. Coherence開発者:Oracle
  6. Dynamo
    開発者:Amazon 社内で利用
    これについてのブログがありました(「Dynamo: Amazon's Highly Available Key-value Store」のまとめ | Akito's IT技術 メモ)
  7. Kai
    開発者:OSS
  8. AppFabric
    Microsoft社の商品
  9. Voldemort
    開発者:LinkedIn社発のOSS
  10. WebSphere eXtreme Scale
    開発者:IBM社の商品

0 件のコメント:

コメントを投稿


Related Posts Plugin for WordPress, Blogger...