0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Hbase的基礎(chǔ)性介紹與入門

汽車玩家 ? 來源:今日頭條 ? 作者:不一樣的程序猿 ? 2020-03-15 17:21 ? 次閱讀

無論是 NoSQL,還是大數(shù)據(jù)領(lǐng)域,HBase 都是非常"炙熱"的一門數(shù)據(jù)庫。本文將對 HBase 做一些基礎(chǔ)性的介紹,旨在入門。

一、簡介

HBase 是一個開源的、面向列的非關(guān)系型分布式數(shù)據(jù)庫,目前是Hadoop體系中非常關(guān)鍵的一部分。在最初,HBase是基于谷歌的 BigTable 原型實(shí)現(xiàn)的,許多技術(shù)來自于Fay Chang在2006年所撰寫的Google論文"BigTable"。與 BigTable基于Google文件系統(tǒng)(File System)一樣,HBase則是基于HDFS(Hadoop的分布式文件系統(tǒng))之上而開發(fā)的。

HBase 采用 Java 語言實(shí)現(xiàn),在其內(nèi)部實(shí)現(xiàn)了BigTable論文提到的一些壓縮算法、內(nèi)存操作和布隆過濾器等,這些能力使得HBase 在海量數(shù)據(jù)存儲、高性能讀寫場景中得到了大量應(yīng)用,如 Facebook 在 2010年11 月開始便一直選用 HBase來作為消息平臺的存儲層技術(shù)。HBase 以Apache License Version 2.0開源,這是一種對商業(yè)應(yīng)用友好的協(xié)議,同時該項(xiàng)目當(dāng)前也是Apache軟件基金會的頂級項(xiàng)目之一。

有什么特性

基于列式存儲模型,對于數(shù)據(jù)實(shí)現(xiàn)了高度壓縮,節(jié)省存儲成本

采用 LSM 機(jī)制而不是B(+)樹,這使得HBase非常適合海量數(shù)據(jù)實(shí)時寫入的場景

高可靠,一個數(shù)據(jù)會包含多個副本(默認(rèn)是3副本),這得益于HDFS的復(fù)制能力,由RegionServer提供自動故障轉(zhuǎn)移的功能

高擴(kuò)展,支持分片擴(kuò)展能力(基于Region),可實(shí)現(xiàn)自動、數(shù)據(jù)均衡

強(qiáng)一致性讀寫,數(shù)據(jù)的讀寫都針對主Region上進(jìn)行,屬于CP型的系統(tǒng)

易操作,HBase提供了Java API、RestAPI/Thrift API等接口

查詢優(yōu)化,采用Block Cache 和 布隆過濾器來支持海量數(shù)據(jù)的快速查找

與RDBMS的區(qū)別

對于傳統(tǒng) RDBMS 來說,支持 ACID 事務(wù)是數(shù)據(jù)庫的基本能力,而 HBase 則使用行級鎖來保證寫操作的原子性,但是不支持多行寫操作的事務(wù)性,這主要是從靈活性和擴(kuò)展性上做出的權(quán)衡。

ACID 要素包含 原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)以及持久性(Durability)

總體來說, HBase 與傳統(tǒng)關(guān)系數(shù)據(jù)庫的區(qū)別,如下表所示:

Hbase的基礎(chǔ)性介紹與入門

二、數(shù)據(jù)模型

下面,我們以關(guān)系型數(shù)據(jù)庫的一個數(shù)據(jù)表來演示 HBase 的不同之處。

先來看下面這張表:

Hbase的基礎(chǔ)性介紹與入門

這里記錄的是一些家庭設(shè)備上報的狀態(tài)數(shù)據(jù)(DeviceState),其中包括設(shè)備名、狀態(tài)、時間戳這些字段。

在 HBase 中,數(shù)據(jù)是按照列族(Column Family,簡稱CF)來存儲的,也就是說對于不同的列會被分開存儲到不同的文件。那么對于上面的狀態(tài)數(shù)據(jù)表來說,在HBase中會被存儲為兩份:

列族1. 設(shè)備名

Hbase的基礎(chǔ)性介紹與入門

列族2. 狀態(tài)

Hbase的基礎(chǔ)性介紹與入門

這里Row-key是唯一定位數(shù)據(jù)行的ID字段,而Row-key 加上 CF、Column-Key,再加上一個時間戳才可以定位到一個單元格數(shù)據(jù)。其中時間戳用來表示數(shù)據(jù)行的版本, 在HBase中默認(rèn)會有 3 個時間戳的版本數(shù)據(jù),這意味著對同一條數(shù)據(jù)(同一個Rowkey關(guān)聯(lián)的數(shù)據(jù))進(jìn)行寫入時,最多可以保存3個版本。

在查詢某一行的數(shù)據(jù)時,HBase需要同時從兩個列族(文件)中進(jìn)行查找,最終將結(jié)果合并后返回給客戶端。 由此可見如果列族太多,則會影響讀取的性能,在設(shè)計(jì)時就需要做一些權(quán)衡。

由此可見,HBase的使用方式與關(guān)系型數(shù)據(jù)庫是大不相同的,在使用 HBase 時需要拋棄許多關(guān)系型數(shù)據(jù)庫的思維及做法,比如強(qiáng)類型、二級索引、表連接、觸發(fā)器等等。

然而 HBase 的靈活性及高度可伸縮性卻是傳統(tǒng) RDBMS 無法比擬的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8904

    瀏覽量

    137618
  • Hbase
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    11192
收藏 人收藏

    評論

    相關(guān)推薦

    AIGC入門及鴻蒙入門

    人工智能和大數(shù)據(jù)技術(shù)的創(chuàng)新內(nèi)容生成工具,正逐漸成為矚目的焦點(diǎn)。它為創(chuàng)意工作打開了全新的大門,尤其在文本和視覺內(nèi)容創(chuàng)作方面表現(xiàn)卓越。對于初學(xué)者來說,可以通過學(xué)習(xí)相關(guān)基礎(chǔ)知識和實(shí)踐操作來入門AIGC領(lǐng)域。同時
    發(fā)表于 01-13 10:32

    TAS3103EVM入門指南

    電子發(fā)燒友網(wǎng)站提供《TAS3103EVM入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 14:39 ?0次下載
    TAS3103EVM<b class='flag-5'>入門</b>指南

    TCSH shell 編程入門

    ICer從業(yè)人員最先需要掌握的語言,就是linux shell語言。TCSH是ICer使用最多的Shell語言,可以說ICer入門語言從TCSH開始。
    發(fā)表于 11-01 10:45 ?0次下載

    WinCC 7.5入門指南

    WinCC 7.5入門指南
    發(fā)表于 10-21 10:37 ?4次下載

    NHET入門

    電子發(fā)燒友網(wǎng)站提供《NHET入門.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 11:26 ?0次下載
    NHET<b class='flag-5'>入門</b>

    BQ76925入門

    電子發(fā)燒友網(wǎng)站提供《BQ76925入門.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 13:34 ?0次下載
    BQ76925<b class='flag-5'>入門</b>

    MCAN(CAN FD)模塊入門

    電子發(fā)燒友網(wǎng)站提供《MCAN(CAN FD)模塊入門.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:08 ?0次下載
    MCAN(CAN FD)模塊<b class='flag-5'>入門</b>

    BQ產(chǎn)品入門指南

    電子發(fā)燒友網(wǎng)站提供《BQ產(chǎn)品入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 12:00 ?4次下載
    BQ產(chǎn)品<b class='flag-5'>入門</b>指南

    新書推薦 | TSMaster開發(fā)從入門到精通

    書名:TSMaster開發(fā)從入門到精通書號:9787302667193作者:楊金升劉矗劉功申定價:99.80元《CANoe開發(fā)從入門到精通》作者又一力作!本書旨在幫助廣大汽車工業(yè)領(lǐng)域的研發(fā)工程師快速
    的頭像 發(fā)表于 08-30 12:37 ?612次閱讀
    新書推薦 | TSMaster開發(fā)從<b class='flag-5'>入門</b>到精通

    HBase集群數(shù)據(jù)在線遷移方案探索

    一、背景 訂單本地化系統(tǒng)目前一個月的訂單的讀寫已經(jīng)切至jimkv存儲,對應(yīng)的HBase集群已下線。但存儲全量數(shù)據(jù)的HBase集群仍在使用,計(jì)劃將這個HBase集群中的數(shù)據(jù)全部遷到j(luò)imkv,徹底
    的頭像 發(fā)表于 06-12 11:54 ?1202次閱讀
    <b class='flag-5'>HBase</b>集群數(shù)據(jù)在線遷移方案探索

    芯海應(yīng)用筆記:CPW3101入門指南

    本技術(shù)說明文檔提供關(guān)于 CPW3101 開發(fā)板 UFCS_EVB_V1.2 功能介紹、特性說明、使用說明、IAP升級、使用注意事項(xiàng)等,旨在幫助用戶更好地使用 CPW3101 開發(fā)板_V1.2,進(jìn)行芯
    發(fā)表于 05-16 14:39

    HyperLynx入門指南

    HyperLynx入門指南
    發(fā)表于 05-06 10:17 ?4次下載

    CW32快速開發(fā)入門

    CW32快速開發(fā)入門
    的頭像 發(fā)表于 04-24 18:56 ?2079次閱讀
    CW32快速開發(fā)<b class='flag-5'>入門</b>

    [RK3588從入門到精通]系列內(nèi)容專欄目錄及介紹

    [RK3588從入門到精通] 專欄目錄及介紹
    的頭像 發(fā)表于 04-10 10:40 ?784次閱讀
    [RK3588從<b class='flag-5'>入門</b>到精通]系列內(nèi)容專欄目錄及<b class='flag-5'>介紹</b>

    allegro快速入門教程

    電子發(fā)燒友網(wǎng)站提供《allegro快速入門教程.pdf》資料免費(fèi)下載
    發(fā)表于 02-29 09:32 ?71次下載