HBaseの構造(Clientの仕組)

提供: LunaBiblos

2010年2月15日 (月) 09:26時点における Yutuki (トーク | 投稿記録) による版
(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)

Software > DataBase > KeyValueストア > HBaseの構造(Clientの仕組)

HBaseの構造(Server構成)    <<     HBaseの構造(Clientの仕組)

HBase Client

HbsaeClientは目的のRowを含むRegionファイルが保存されているHRegionServerを探し出す機能を有します。
HBase ClientはHBaseMasterと通信してROOT テーブルのRegionファイルを保持するHRegionServerのアドレス受け取りますが、これがClientとMasterとの間で行われる唯一の通信です。

ClientがROOT テーブルのRegionファイルを保持するHRegionServerのアドレスを取得すると、「目的のRowを含むRegionファイルがどのHRegionServerが何処にあるか訪ねる為のMETA テーブルのRegionファイル」を、どのHRegionServerが保持しているのか、ROOT テーブルから探し出します。
目的のMETA Regionファイルを保持するHRegionServerが分かるとそのHRegionServerへと接続し、「目的のRowを含むRegionファイルがどのHRegionServerが何処にあるか」をそのMETA Regionファイルの中から探し出します。
以上の過程を得て取得した「目的のRowを含むRegionファイルを持つHRegionServer」に接続し、読込/書込Requestを投げます。

上記過程で得た情報はClient側に残され、次回以後の接続では上記の処理を飛ばしてデータを取得する事が出来ます。

負荷分散の為に、或いは特定のHRegionServerが応答停止した為にHbaseMasterによるRegionファイルの再割り当てが行われると、Hbase ClientはMETA Tableを再度取得し直し、目的のRegionファイルを取得しに行きます。
もしMETA Tableを構成するRegionファイルが再割り当てされていた場合、ClientはROOT Tableから再度、データの取得をやり直します。
更にもしROOT TableのRegionファイルが再割り当てされた場合、ClientはHBaseMasterに再度問い合わせし直し、ROOT TableのRegionファイルを保持するHRegionServerのアドレスを取得し直します。

Client API

Clientで利用するJavaのAPIに関してはHTableクラスとHBaseAdminクラスのJAVADOCを参照してください。

参考

HBaseの構造(Server構成)    <<     HBaseの構造(Clientの仕組)

大項目
案内
ツールボックス