ビッグデータのデータベースHBaseの(A) - アーキテクチャの原理

、HBaseのプロフィール

1.1.Hadoop生態系

 

 

 

1.2。非リレーショナルデータベースの知識の拡大 

  • カサンドラHBaseのMongoDBの 
  • CouchDBの、ファイル・ストレージ・データベース 
  • Neo4j非リレーショナルデータベースダイアグラム

初期1.3.Hbase

  • Hadoopのデータベースは、読み書きする高信頼性、高性能、列指向、スケーラブルな分散型リアルタイムデータベースです
  • HadoopのHDFSはファイルストレージシステム、その分散協調サービス飼育係として使用する大量のデータのHadoopのMapReduceのHBaseの用途として使用します
  • 主に非構造化および半構造化バルク(列メモリのNoSQLデータベース)のデータを格納するために使用

二、HB​​aseのデータモデル

                                                               図論理形式図2.1

値を決定するために、このようなテーブルは、のrowKey、タイムスタンプ、列の家族、列のキーを持っている必要があります

2.1.1.ROW KEY

- データの決定行
- 辞書順に従ってソート。
- 64Kにデータバイトを格納できる行キー

2.1.2.Column家族列ファミリー&修飾子コラム

- 表HBaseの列の各列グループに属し、グループ必須カラム(スキーマ)は、テーブルモデルとして定義されています
事前定義された部分。「テスト」、「コース」を作成します。
数学:もちろん; - 列の列名は、接頭辞の家族として、それぞれ「列グループ」のメンバーは、複数のカラム(列)を持つことができます
もちろん:英語、新しい列(カラム)の家族はその後、参加動的に、必要なことができます。
- アクセス制御、格納およびチューニングは、列グループレベルで行われます。
- HBaseのデータは複数のファイルを保存し、同じディレクトリに格納されているのと同じ列ファミリー。

2.1.3.Timestampタイムスタンプ

- ユニークによれば、同一データのバージョンの複数のメモリセルの各セル、HBaseの
データの異なるバージョンによると、各バージョンのタイムスタンプとの差を区別します
逆の順序、最前列のデータの最新バージョン間。
- スタンプのタイプは、64ビットの整数です。
- この時点でHBaseの、タイムスタンプによって割り当てられたタイムスタンプ(自動的にデータを書き込む)ことが本質であります
ミリ秒単位で現在のシステム時刻を決定するには。
- アプリケーションは、データのリリースを避けたい場合は、タイムスタンプはまた、明示的に、顧客によって割り当てすることができます
紛争、自分自身のユニークなタイムスタンプを生成する必要があります。
 

2.1.4.Cellセル

- 決定された座標の行と列の交差点。
- セルのバージョンがあります。
- セルの内容は、未解決のバイト配列です。
▪{行キー、カラム(= <ファミリー> + <修飾子>)、バージョン}一意に決定
ユニット。
▪セルデータは、すべてのバイト配列の形で記憶され、型ではありません。
 

                                                                                 図2-2 HBaseのチャート

2.2.1.Client

▪HBaseのへのアクセスを高速化するためのHBaseにアクセスし、キャッシュを維持するためのインタフェースが含まれています

2.2.2.Zookeeper

▪いつでも保証、唯一のアクティブ・マスター・クラスター
▪すべての地域の入り口に対処するストレージ。
▪オンラインとオフラインの情報のリージョンサーバリアルタイム監視。そして、リアルタイムの通知マスター
▪ストレージHBaseのテーブルのメタデータとスキーマ

2.2.3.Master

- 地域サーバの割り当て地域
- 地域サーバロードバランシングのための責任
- 地域のサーバの障害ということと、その上の領域を再配布しました
- テーブルの操作へのユーザーの追加および削除の管理

2.2.4。リージョンサーバー

- 地域のためのIO要求を処理リージョンサーバーのメンテナンス領域と、
- 地域サーバーが動作中に大きくなりすぎるから地域を分割する責任があります

2.2.5.Memstore 与 storefile

– 一个region由多个store组成,一个store对应一个CF(列族)
– store包括位于内存中的memstore和位于磁盘的storefile写操作先写入memstore,
当memstore中的数据达到某个阈值,hregionserver会启动flashcache进程写入
storefile,每次写入形成单独的一个storefile
– 当storefile文件的数量增长到一定阈值后,系统会进行合并(minor、major
compaction),在合并过程中会进行版本合并和删除工作(majar),形成更大
的storefile
– 当一个region所有storefile的大小和数量超过一定阈值后,会把当前的region分割
为两个,并由hmaster分配到相应的regionserver服务器,实现负载均衡
– 客户端检索数据,先在memstore找,找不到去blockcache,找不到再找storefile
 
▪ HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion
可以分布在不同的 HRegion server上。
▪ HRegion由一个或者多个Store组成,每个store保存一个columns family。
▪ 每个Strore又由一个memStore和0至多个StoreFile组成。如图:StoreFile以HFile格式保存
在HDFS上。
 
                                                             图 2-3 Region & Store 关系图
 

                                                            图 2-4 关系图(二)

おすすめ

転載: www.cnblogs.com/littlepage/p/11273098.html
おすすめ