ビッグデータインタビューシリーズ--Hbase

HBaseの分散データベース・ストレージ・カラムで
の特性に関する1 HBaseの話
1.分散アーキテクチャ、クラスタ化されたストレージデータによってHBaseのは、最終的にはHDFSに落ちる
2のNoSQL、非リレーショナルデータベースではありませんパラダイム満たすリレーショナルデータベース
3キーと値の基礎となる構造に基づいて、カラム指向ストレージ、
4は半構造化、非構造化データを格納するように適合され
たデータを格納するための5スパース適した、データはヌル空間ではない
6.リアルタイムに提供します追加および削除を変更して再検索機能に、しかし、厳格な取引メカニズムを提供していないが、唯一のラインレベルのトランザクションを提供することができます

建築組成およびロール2.Hbase
1.Zookeeper、分散コーディネーションとして。リージョンサーバーは書かれてZooKeeperの中で自分の情報を入れます。
2.HDFS基本的なファイルシステムのHBaseの実行
3.RegionServerは、データの格納にデータノードとして理解
マスターへのリアルタイムな情報を報告する4.Masterリージョンサーバー。グローバルオペレーションリージョンサーバーマスターノウハウは、セグメンテーションのフェイルオーバーと地域リージョンサーバーを制御することができます

記憶された前記トーク特性は、行およびカラム・
1は、ディスクメモリ行に格納されている連続的である、ディスク上に格納された不連続なランク
書き込み性能の比較から2、書き込み性能のより少ない数高いです。ディスクヘッドの必須スケジューリングのためのすべての書き込みが発生するので、シーク時間になります。ラインメモリは一度だけ書かれているが、利点ラインは、書き込みパフォーマンスに保存されているので、多くの時間は、列ストアを書き込むことがあるので
、読み取りパフォーマンスから3.コントラストを:
より多くの読み取りがテーブル全体、ラインストレージのパフォーマンスである場合。高い
B。指定された列が読み取られた場合、冗長列ラインメモリが生成され、メモリ内の冗長列の除去が起こります。そしてカラムは、冗長列メモリに存在しない
データフィールドタイプのライン以降のラインベースのストレージは、異なっていてもよい場合は、データの格納、ので、頻繁なデータ型の変換を生成する場合4.;列が記憶に基づいている場合、同じ列ためデータの種類は、あなたが頻繁にデータ型変換を回避することができ、およびデータ圧縮にはいくつかの優れた圧縮アルゴリズムを検討することができ、一般的に一致しています

コンセプト4.Hbase行キー列ファミリー、物理モデル、設計原理テーブル
行キー:HBaseのテーブルを運んでは、各行はキーデータに対応します。

カラムファミリー:列のセットとして指定されているテーブルを作成し、別のファイルとして各列グループが記憶され、記憶されたデータは、タイムスタンプによって識別データが多くを有することができるバイトの配列は、です。

物理モデル:HBaseのテーブル全体が鍵記録領域の各行の開始点が異なるノード上に格納され、領域を複数に分割され、並列クエリは、各ノードを照会することで、領域テーブルを用いて、大きな.METAを使用しましたメモリの各領域は、点、-rootも記憶.METAの開始点を開始。

rowKey設計原理:各列グループ、原理の長さ、隣接原理、テーブルがキャッシュリージョンサーバーに提供されるときに、テーブルを作成して、成長のバランスデータと自動時間を回避し、代わりに文字列、64キロバイトの最大長バイトの配列を使用しての、好ましくは16才能によってバイトテーブル内に、2つのバイトは、ストレージディビジョンミリ秒の4つのバイトをハッシュ。

列グループの設計原理は:できるだけ(これは、列に格納されたグループ、地域、不要な操作IOに従って読んで)、多くの場合、データの2種類が頻繁にグループとして、別の列に列名をグループに使用されていません短いです

シンプルな書き込みプロセスが5.HBase
読み:
行くBlockCacheはMemstoreを読み取るために、BlockCacheを読んでいない場合は、Memstoreない場合は、その後に:リージョンサーバー領域データが読み取りに位置し、次の順序で読まれることを見つけます読み取りにでHFILE。
書き込み:
書き込みデータは、データが最初にWALに書き込まれる(先行書き込みログ、先行書き込みシステムログ)リージョンサーバーの地域を見つけ、その後、データはMemstore待ちリフレッシュに書き込まれ、クライアントへの答弁書を完了します。

6.地域でHBaseの結果を解決する方法を説明しては小さすぎると地域を持参するには大きすぎるされている
地域は、総会圧縮上何度も発生し、データはHDFSに何度も何度も読んで、書き込み、IOを占領し、領域は、複数の分割原因小さすぎ意志であります領域は256メートルにhbase.heregion.max.filesizeを調整し、サービスへのアクセスに影響を与え、組立ラインオフになります。

デザインの原則7.Hbase表
1は、列と列の家族の一族可能性の数
、可能な限り推奨事項は、列ファミリの数が設定値をHBaseの。ときに、2つの以上の列のための、強力な、よくグループのHBaseを扱うことができません。これは、HBaseのフラッシングによるもので、圧縮が地域に基づいています。データは列ファミリーに格納されているときにフラッシングが閾値に達し、そして表グループフラッシング動作のすべての列を同時に行います。これは、より多くの不必要なI / Oのオーバーヘッド、列の家族、大きいこの機能がもたらす影響につながります。
また、表中の同じグループの異なる列に格納されたレコードの数の差を考慮し、すなわち、列電位ファミリー(カーディナリティ)。二つの列の数は、グループ番号のグループに大きな差を含むであろう場合に、複数の領域にわたって分散されたデータの少ない列を記録し、領域は、異なるリージョンサーバー上が格納されてもよいです。このように、クエリまたはスキャン操作、システム効率が影響を受けることになります。

2、行キー(のrowKey)設計された
最初のタイミングを回避またはキーの単調(インクリメント/デクリメント)行すべきです。データが来るとき、HBaseの最初の必要性、すなわち、領域位置、キーのタイミング又は単調行が、データの連続的な到着が同じ領域に割り当てられる場合、この一方決定行キーレコード格納された位置を、することがあるため他の地域に分散されたシステム/リージョンサーバーがアイドル状態ではなく、国家のほとんどを見たいとき。

図3に示すように、可能な限り行と列グループ鍵のサイズ最小化するの
カラム(カラムファミリー:カラム)HBaseの、行キーに格納された値から特定の値に、そして決定された値に対応するタイムスタンプを。HBaseのは、インデックスを作成するには、インデックスの速度がすぐにアクセス可能である加速するために基づいている「OKキー+列ファミリ:タイムスタンプ列+ +値」、行と列の家族の結合の大きさは、さらに値自体の大きさよりも、大きすぎる場合には、不思議は、インデックスのサイズが大きくなります。HBaseのデータ記録、しばしば非常に多く、重複するキー行は、列は唯一のシステムにも負担が大きくなり、インデックスのサイズが大きすぎることはありません

4、バージョン数
デフォルト×3は、非常に高く設定しない推奨、HColumnDescriptorによって設定することができます

公開された27元の記事 ウォンの賞賛9 ビュー20000 +

おすすめ

転載: blog.csdn.net/I_Demo/article/details/104187549