日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

hbase簡介

 

1、 HBase基本介紹

簡介

hbase是bigtable的開源JAVA版本。是建立在hdfs之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫nosql的數據庫系統。

它介于nosql和RDBMS之間,僅能通過主鍵(row key)和主鍵的range來檢索數據,僅支持單行事務(可通過hive支持來實現多表join等復雜操作)。

 

主要用來存儲結構化和半結構化的松散數據。

Hbase查詢數據功能很簡單,不支持join等復雜操作,不支持復雜的事務(行級的事務)

Hbase中支持的數據類型:byte[]

 

與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用服務器,來增加計算和存儲能力。

 

HBase中的表一般有這樣的特點:

大:一個表可以有上十億行,上百萬列

面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索。

稀疏:對于為空(null)的列,并不占用存儲空間,因此,表可以設計的非常稀疏。

 

HBase的發展歷程

 

HBase的原型是google的BigTable論文,受到了該論文思想的啟發,目前作為Hadoop的子項目來開發維護,用于支持結構化的數據存儲。

官方網站:http://hbase.Apache.org

* 2006年Google發表BigTable白皮書

* 2006年開始開發HBase

* 2008 HBase成為了 Hadoop的子項目

* 2010年HBase成為Apache頂級項目

 

2、HBase與Hadoop的關系

1、HDFS

* 為分布式存儲提供文件系統

* 針對存儲大尺寸的文件進行優化,不需要對HDFS上的文件進行隨機讀寫

* 直接使用文件

* 數據模型不靈活

* 使用文件系統和處理框架

* 優化一次寫入,多次讀取的方式

2、HBase

* 提供表狀的面向列的數據存儲

* 針對表狀數據的隨機讀寫進行優化

* 使用key-value操作數據

* 提供靈活的數據模型

* 使用表狀存儲,支持MapReduce,依賴HDFS

* 優化了多次讀,以及多次寫

 

3、RDBMS與HBase的對比

1、關系型數據庫

結構:

* 數據庫以表的形式存在

* 支持FAT、NTFS、EXT、文件系統

* 使用Commit log存儲日志

* 參考系統是坐標系統

* 使用主鍵(PK)

* 支持分區

* 使用行、列、單元格

功能:

* 支持向上擴展

* 使用SQL查詢

* 面向行,即每一行都是一個連續單元

* 數據總量依賴于服務器配置

* 具有ACID支持

* 適合結構化數據

* 傳統關系型數據庫一般都是中心化的

* 支持事務

* 支持Join

2、HBase

結構:

* 數據庫以region的形式存在

* 支持HDFS文件系統

* 使用WAL(Write-Ahead Logs)存儲日志

* 參考系統是Zookeeper

* 使用行鍵(row key)

* 支持分片

* 使用行、列、列族和單元格

功能:

* 支持向外擴展

* 使用API和MapReduce來訪問HBase表數據

* 面向列,即每一列都是一個連續的單元

* 數據總量不依賴具體某臺機器,而取決于機器數量

* HBase不支持ACID(Atomicity、Consistency、Isolation、Durability)

* 適合結構化數據和非結構化數據

* 一般都是分布式的

* HBase不支持事務

* 不支持Join

 

4、HBase特征簡要

1、自動故障處理和負載均衡

HBase運行在HDFS上,所以HBase中的數據以多副本形式存放,數據也服從分布式存放,數據的恢復也可以得到保障。另外,HMaster和RegionServer也是多副本的。

2、自動分區

HBase表是由分布在多個RegionServer中的region組成的,這些RegionServer又分布在不同的DataNode上,如果一個region增長到了一個閾值,為了負載均衡和減少IO,HBase可以自動或手動干預的將region切分為更小的region,也稱之為subregion。

3、集成Hadoop/HDFS

雖然HBase也可以運行在其他的分布式文件系統之上,但是與HDFS結合非常之方便,而且HDFS也非常之流行。

4、實時隨機大數據訪問

HBase采用log-structured merge-tree作為內部數據存儲架構,這種架構會周期性地將小文件合并成大文件以減少磁盤訪問同時減少NameNode壓力。

5、MapReduce

HBase內建支持MapReduce框架,更加方便快速,并行的處理數據。

6、Java API

HBase提供原生的Java API支持,方便開發。

7、橫向擴展

HBase支持橫向擴展,這就意味著如果現有服務器硬件性能出現瓶頸,不需要停掉現有集群提升硬件配置,而只需要在現有的正在運行的集群中添加新的機器節點即可,而且新的RegionServer一旦建立完畢,集群會開始重新調整。

8、列存儲

HBase是面向列存儲的,每個列都單獨存儲,所以在HBase中列是連續存儲的,而行不是。

9、HBase Shell

HBase提供了交互式命令行工具可以進行創建表、添加數據、掃描數據、刪除數據等操作和其他一些管理命令。

 5、HBase的基礎架構

 

hbase簡介

 

1、HMaster

功能:

1) 監控RegionServer

2) 處理RegionServer故障轉移

3) 處理元數據的變更

4) 處理region的分配或移除

5) 在空閑時間進行數據的負載均衡

6) 通過Zookeeper發布自己的位置給客戶端

2、RegionServer

功能:

1) 負責存儲HBase的實際數據

2) 處理分配給它的Region

3) 刷新緩存到HDFS

4) 維護HLog

5) 執行壓縮

6) 負責處理Region分片

組件:

1) Write-Ahead logs

HBase的修改記錄,當對HBase讀寫數據的時候,數據不是直接寫進磁盤,它會在內存中保留一段時間(時間以及數據量閾值可以設定)。但把數據保存在內存中可能有更高的概率引起數據丟失,為了解決這個問題,數據會先寫在一個叫做Write-Ahead logfile的文件中,然后再寫入內存中。所以在系統出現故障的時候,數據可以通過這個日志文件重建。

2) HFile

這是在磁盤上保存原始數據的實際的物理文件,是實際的存儲文件。

3) Store

HFile存儲在Store中,一個Store對應HBase表中的一個列族。

4) MemStore

顧名思義,就是內存存儲,位于內存中,用來保存當前的數據操作,所以當數據保存在WAL中之后,RegsionServer會在內存中存儲鍵值對。

5) Region

Hbase表的分片,HBase表會根據RowKey值被切分成不同的region存儲在RegionServer中,在一個RegionServer中可以有多個不同的region。

分享到:
標簽:hbase
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定