4. 分散キーバリューストアの特徴
A:「Availability」
一貫性 (Consistency)
1つのデータへの操作は成功、失敗のどちらかしか発生しない
可用性 (Availability)
システムへの障害発生の可能性が極めて低い、もしくは障害時も稼働し続けることができる
P:「Partition C:
分割耐性(Partition Tolerance)
Tolerance」 「Consistency」 ネットワーク障害が発生した場合もシステムは停止せず稼働し続ける
また、極端なスループットの低下も起こらない
【RDBMS】 【分散キーバリューストア】
A A A
P C P C P C
RDBMSは一貫性を強く意識している 。 可用性や分割耐性のように、ネットワークを介して複
また、一貫性を優先するために、単一のサーバー資源 数のサーバー資源を活用する使い方に対する意識が高
上でデータを管理する設計になっている場合が多い 。 い。
2012/1/18 4 Copyright (C) Kobe Digital Labo Inc. All Reserved.
5. 使いやすい分散キーバリューストア「okuyama」
3 層 構 造 Storage Type 永続化・非永続化の選択、一貫性レベルの選択保存先の
選択(Memory, Disk, Disk + Memory)
Data Data Data Support Protocol Original, memcached, HTTP
client
Node Node Node
Master
Node 冗長性 複数台のサーバで構成されており、
Data Data Data サーバ追加も無停止で可能(アルゴリズム分散)
client
Node Node Node
可用性 全てのデータは多重化されて保存され、全ての構成要素
Master が多重化可能となっている
Node Data Data Data single point of failureが存在しない
client
Node Node Node
無停止データリカバリ 障害復旧時のデータの差異を修復するデータのリカバリ
client MasterNode DataNode は全て無停止で自動的に行われる
無停止データ再配置 サーバ追加後のデータ再配置は全て無停止で自動的に行
APから 分散処理制 データ保管
われる
okuyamaを 御する管理 される管理
操作するIF ノード ノード データ一貫性の強度の選択 取得するデータの一貫性を弱・中・強の中から選択可能
ストレージ特性の自由度 パーティション機能
• メモリに保存するか、ディスクに保存するかを選択することができる
•1つのクラスタに用途毎に合わせた領域を確保することができる
• 利用シーンに合わせて設定を選択できる
•メモリ:高速だが、データが永続保存されない
•パーティション毎に設定を変えることができる
•ディスク:データが永続保存されるが、メモリに比べて速度が务化す Valueへの全文検索機能
る
•Keyだけでしか検索できない分散キーバリューストアだが、Value
Tag付加機能 項目に対して全文検索を行うことができる
• Key以外にタグを追加することができるので、複数件のデータにアクセ •全文検索用のインデックス情報をグルーピングすることができる
スできる ので、検索したいデータ群を絞り込んだ上で全文検索が可能
• タグは理論上、無制限に付加できるので、利用シーンに合わせて自由に
タグを付加することができる Hadoop連携
JavaScript実行機能 •分散処理基盤としてメジャーなHadoopに対応
•パーティションやタグを指定してHadoop側で処理できるので、
• DataNode上で処理できるプログラムを配置でき、最もサーバ台数が確
保されるノードで実行することにより、高速な処理が可能 okuyama上のある一群のデータを対象に高速な分析処理ができる
2012/1/18 5 Copyright (C) Kobe Digital Labo Inc. All Reserved.