「ビッグデータ技術と原則、」第二版 - 第IV章HBaseの分散データベース
その他
2019-12-23 00:51:37
訪問数: null
4.1概要
- HBaseのは、列指向、分散データベーススケーラブル、GoogleのBigTableのオープンソースの実装は、主に緩い非構造化および半構造化データを格納するために使用され、信頼性の高い、高性能です。
- 従来のデータベースとHBaseの違い
- データは、原因不明の文字列として格納されている差分データ型
- データ操作は、操作は、リレーショナル・データベースに複雑なデータ、通常、単一の主キーテーブルのクエリとしてありません。
- ストレージモードでは、行を格納するが、HBaseのが格納されているカラムを使用するためのリレーショナル・データベースを使用することです。
- データのインデックスは、HBaseの唯一のインデックスは、キーの列です。
- HBaseのは、保存するか、更新操作を実行し、旧バージョンから削除されていないデータを行いますが、新しいバージョンを作成し、旧バージョンとデータのメンテナンス、。
- スケーラビリティは、リレーショナルデータベースは、長手方向の膨張が制限され、スケールを達成することは困難です。HBaseの拡張と開発のレベルを達成するために柔軟です。
- しかし、トランザクションをサポートしていません、ですが自身の限界は、銀行間のアトミック性を達成することはできません。
4.2HBaseアクセスインタフェース
- HBaseのは、ネイティブのJava API、HBaseのシェル、スリフトゲートウェイ、RESTゲートウェイ、豚、ハイブおよびその他のアクセス方法を提供します。
4.3HBaseデータモデル
- HBaseのがまばらである、多次元、ソートマッピングテーブルの、このテーブルは、インデックス付き行キー、カラムファミリー、およびタイムスタンプ列修飾子です。カラムファミリは、動的な拡張をサポートしています。
- テーブルは、テーブル、行と列のテーブルを使用してデータを編成します。
- 表モードの行にラインアクセス:
- 単一の行のキーを介してアクセス
- キーラインの範囲でアクセスすること
- 全表スキャン
- アクセス制御の基本単位である列グループ、
- 修飾子カラム、事前に定義させ、カラムにより家族修飾子を検索する列データが、そこにはデータ型ではないが、多くの場合、バイトの配列として見
- 細胞、細胞修飾子列を決定する行キー、カラム基、によって。いいえセルデータ型は、それが常にバイトの配列、タイムスタンプに対応する各バージョンとして扱われていません。
- スタンプ、一般に64ビット整数のタイムスタンプ
- データを、4つの位置決め、キー列、列グループ、修飾子列、タイムスタンプを調整します。
- 概念図は、多くの構成ラインのように見えます。
- 物理ビューが、ストレージ・カラムの使用に基づいている物理的レベル、です。タイムスタンプと行キーを含むリストファミリーに従って別々に格納されます。
- データのバッチ指向データベースは、処理外とアドホッククエリ、列指向のストレージは、データ線データベースは、少量を処理するように構成されています。利点は、I / Oのオーバーヘッドを削減することです。
4.4HBaseの原則
- マスタープライマリサーバ;多くのサーバーリージョンHBaseの機能コンポーネントは、三つの主要な機能コンポーネント、ライブラリ関数、各クライアントへのリンクがあります。
- リージョンサーバーは、割り当てられた地域、ハンドル読むと、クライアントからの書き込み要求を格納し、維持する責任があります。
- パーティション情報のHBaseテーブルの管理と保守を担当マスター、マスター。
- HBaseのクライアントがマスターに依存しないが、飼育係によって地域の位置を取得します。
- 表と地域、地域では、負荷分散やデータ配信の基本単位です。、各地域100M〜200メガバイトのサイズは、複数のサーバ上に同じリージョンリージョンの分割ではありません。
- 領域の位置は、それぞれRegionID領域は、識別子のように表すことができる、その一意性領域を同定しなければならない「主キーテーブル名+ + RegionID開始。」マッピングテーブルはまたとして知られている「メタデータテーブル」と呼ばれる他のサーバリージョン、識別する識別子二つの要素、一つの領域を含む「.META表」を メタデータテーブルの場合、あまりにも多くの、それは最初の訪問飼育係の前に、-ROOT-テーブル、ユーザーデータへの顧客のアクセスをルーツデータテーブルを作成します。
4.5HBase操作機構
- フォローアップ訪問のプロセスをスピードアップするために、キャッシュ内の位置情報を訪れた地域を維持しながら、クライアント・インタフェースは、アクセスHBaseのです。
- 飼育係のサーバが単一のマシンではない、それは複数のマシンで構成されるクラスタで安定性と信頼性の高いコラボレーションサービスを提供することができます。飼育係のデータテーブルに格納されたアドレス、およびマスターのルート。
- マスターは、マスターリージョンサーバーが管理する責任があります。
- 増加したユーザ管理テーブルの場合、削除、修正、クエリや他の操作。
- リージョン異なるサーバ間の負荷分散
- 地域の再調整の配布を担当する合併領域分割後、
- 障害が発生したサーバ障害時のリージョンリージョンの移行
- 地域サーバは、コアモジュールのHBaseは、自分に割り当てられた地域を維持し、要求を読み取りおよび書き込みへの対応を担当しています。HBaseのデータ自体はデータの複製および維持の機能のコピーを持っていないが、これらのHDFSはHBaseのためのサポートを提供することができます。
1.リージョン・サーバーの作品
- サーバー管理リージョンリージョン一連のオブジェクトとレコードファイル上記ディスクファイル[ハント]で[ハント]ファイル、すべての更新の記録。
- 対応表の各ストアを格納する1つの列グループの複数からなる順番に各領域オブジェクトストアは、ストアの各またはMemStore StoreFileの複数を含み、MemStoreキャッシュメモリは、最新の更新データが格納されます; StoreFileディスクファイルを、これらのファイルはBツリー構造は、基礎となる実装は、HDFS HFILEです
2.ストア作品
- MemStoreはMemStoreキャッシュがいっぱいになると、それはファイルStoreFileにディスクにフラッシュされ、バッファメモリの一種です。現在の親領域は、2つのサブ領域に分割する一方、ファイルが閾値を超える大きなファイルと呼ばれるよりStoreFile合併と、ファイルは、分割操作をトリガする、二つのサブ領域の新たな分割が割り当てられているマスター適切なサーバへの地域。
3. [ハント]作品
- HBaseのハントは、正常な状態は、システムに障害が発生した場合に発生する可能性が不良に復元することができることを確認するために使用しました。それはMemStoreキャッシュを書き込むことができるログに書き込まれた後、各サーバーの設定地域[ハント]ファイルが、それは、先行書き込みログです。
4. HBaseの一般的なシェル
hbase shell
環境シェルに
create 't1', {NAME => 'f1', VERSIONS => 5}
表t1を作成し、列の家族のF1、列ファミリのバージョン番号は5です
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
テーブルt1、3つの列グループを作成し、またはコマンドを使用しての代わりに、create 't1', 'f1', 'f2', 'f3'
list
すべての情報のHBaseのテーブルの一覧
put 't1', 'row1', 'f1:c1', 'value1', 1421822284898
テーブルにF1 T1 ROW1行と列:C1がセルデータ加え値1、番号のタイムスタンプ以降の列に対応します。
get
データを取得するために使用されます
scan
テーブルを参照するために使用します
alter
グループモード変更の列はalter 't1', NAME => 'f1'
グループF1にテーブルt1に列を追加しalter 't1', NAME => 'f1' METHOD => 'delete'
、テーブルの列F1を削除します
count
テーブルの行数
describe 't1'
表示テーブル情報
drop
削除テーブル
shutdown
閉じるクラスタ
転載: www.cnblogs.com/tsruixi/p/12081733.html