1. 程式人生 > >Hbase入門(一)——初識Hbase

Hbase入門(一)——初識Hbase

本文將介紹大資料的知識和Hbase的基本概念,作為大資料體系中重要的一員,Hbase彌補了Hadoop只能離線批處理的不足,支援儲存小檔案,隨機檢索。而這種特性使得Hbase對於實時計算體系的事件儲存有天然的較好的支援。這使得Hbase在實時流式計算中也扮演者重要的角色。

1、大資料與Hbase

大資料在近幾年發展迅速,而實時計算也是一個重要的發展趨勢。不管是企業中的日誌資料,還是感測器、智慧裝置等等產生的資料,不計其數。

而這些資料中結構化的資料只佔一小部分,大部分是非結構化的資料。這個時候,比如圖片視訊等就不能輕鬆的儲存在關係型資料庫中,而大資料是可以對各種型別的資料都可以進行處理的。

但關係型資料庫有幾點缺陷:

無法應對高併發的考驗,沒有辦法橫向擴充套件,事務一致性對效能的影響。

而Nosql資料庫,也就是Not Only Sql的縮寫。擴充套件性強,併發效能好,資料模型靈活。

Hbase,也就是Hadoop Database是一個高可靠、高效能、可伸縮的分散式資料庫。Hbase參考了谷歌的BigTable建模,使用HDFS作為底層儲存。使用Zookeeper作為協同服務元件。

Hbase使用Java編寫,還是一種NoSQL資料庫,這些特性決定了Hbase獨特的應用場景。

2、概念特性

HBASE是一個數據庫----可以提供資料的實時隨機讀寫

HBASE與mysql、oralce、db2、sqlserver等關係型資料庫不同,它是一個NoSQL資料庫(非關係型資料庫)

Hbase的表模型與關係型資料庫的表模型不同:

​  Hbase的表沒有固定的欄位定義;

​  Hbase的表中每行儲存的都是一些key-value對;

​  Hbase的表中有列族的劃分,使用者可以指定將哪些kv插入哪個列族;

​  Hbase的表在物理儲存上,是按照列族來分割的,不同列族的資料一定儲存在不同的檔案中;

​  Hbase的表中的每一行都固定有一個行鍵,而且每一行的行鍵在表中不能重複;

​  Hbase中的資料,包含行鍵,包含key,包含value,都是byte[ ]型別,hbase不負責為使用者維護資料型別;

​  HBASE對事務的支援很差;

HBASE相比於其他nosql資料庫(mongodb、redis、cassendra、hazelcast)的特點:

Hbase的表資料儲存在HDFS檔案系統中

從而,hbase具備如下特性:儲存容量可以線性擴充套件; 資料儲存的安全性可靠性極高!

3、核心模組

客戶端Client

整個Hbase的入口,使用者通過客戶端操作Hbase。通過客戶端與HMaster和RegionServer進行通訊。管理類操作與HMaster通訊,讀寫類操作與RegionServer通訊。

協調服務zookeeper

zookeeper負責管理Hbase中多個HMaster的選舉,伺服器間狀態同步。

主節點HMaster

HMaster可以啟動多個,由zookeeper保證總有一個正常執行,其他作為備選。

HMaster主要負責Table和Region的管理工作。

節點HRegionServer

HRegionServer主要負責響應使用者IO請求,向HDFS中讀寫資料。HRegionServer管理了一系列的HRegion物件。HRegion對應了Table中的一個Region。HRegion由多個HStore組成,HStore對用了Table中一個Column Family。

而且每個HRegionServer都有一個HLog物件,用於資料恢復。

4、使用場景

搜尋引擎

生成索引,在查詢時通過對條件的拼接,迅速的查詢到要查詢的資料。

實時流式計算

不管是實時的推薦系統,還是日誌的增量儲存,都是實時流式計算的一個應用。

通過將資料增量的存入Hbase,並在流式處理中實時查詢Hbase,結合歷史得到最終的分析結果。

更多Hbase,Flink,Kafka等實時流式計算相關博文,歡迎關注實時流式計算:

相關推薦

Hbase入門()——初識Hbase

本文將介紹大資料的知識和Hbase的基本概念,作為大資料體系中重要的一員,Hbase彌補了Hadoop只能離線批處理的不足,支援儲存小檔案,隨機檢索。而這種特性使得Hbase對於實時計算體系的事件儲存有天然的較好的支援。這使得Hbase在實時流式計算中也扮演者重要的角色。 1、大資料與Hbase 大資

HBase入門()

1.HBase是依賴HDFS的,HBase的資料是存在RegionServer上的,然後RegionServer資料又存在於datanode. 2. HBase有兩個節點Master(主)和RegionServer(從) 3. HBase操作表的時候需要元資料,

大資料HBase系列之初識HBase

1.  HBase簡介 1.1  為什麼使用HBase 傳統的RDBMS關係型資料庫(MySQL/Oracle)儲存一定量資料時進行資料檢索沒有問題,可當資料量上升到非常巨大規模的資料(TB/PB)級別時,傳統的RDBMS已無法支撐,這時候就需要一種新型的資料庫系統更好更

大資料之hbase) --- HBase介紹,特性,安裝部署,shell命令,client端與hbase的互動過程,程式設計API訪問hbase實現百萬寫入

一、HBase介紹 ---------------------------------------------- 1.基於hadoop的資料庫,具有分散式,可伸縮的大型資料儲存 2.用於對資料的隨機訪問,實時讀寫 3.巨大的表,十億行*百萬列

條資料的HBase之旅,簡明HBase入門教程-開篇

一些常見的HBase新手問題什麼樣的資料適合用HBase來儲存?既然HBase也是一個數據庫,能否用它將現有系統中昂貴的Oracle替換掉?存放於HBase中的資料記錄,為何不直接存放於HDFS之上?能否直接使用HBase來儲存檔案資料?Region(HBase中的資料分片)遷移後,資料是否也會被遷移?為何基

條資料的HBase之旅,簡明HBase入門教程-Read全流程

這是《一條資料的HBase之旅》系列文章的第4篇,介紹HBase Get&Scan的核心思路。 系列文章 在閱讀此文之前,希望你已經讀過本系列文章的前3篇內容: 本文思路 介紹HBase的兩種讀取模式:Get與Scan 如何發起一次Get請求,Get有哪些關鍵引數 如何發

條資料的HBase之旅,簡明HBase入門教程-Flush與Compaction

Flush與Compaction其實屬於Write流程的繼續,所以本文應該稱之為”Write後傳“。在2.0版本中,最主要的變化就是新增了In-memory Flush/Compaction,而DateTieredCompaction並不算2.0新加入的特性,2.0版本在Compaction核心演

hbase)region

博客 phi 超過 oom 聲明 遍歷 一段 連續 cnblogs 前言 文章不含源碼,只是一些官方資料的整理和個人理解 架構總覽 這張圖在大街小巷裏都能看到,感覺是hbase架構中最詳細最清晰的一張,稍微再補充幾點。 1) Hlog是低版本hba

初識HBase

正常 glib fire pan 找到 cnblogs 上傳 生效 mct   現如今,分布式架構大行其道,實際項目中使用HBase也是比比皆是。雖說自己在分布式方面接觸甚少,但作為程序猿還是需要不斷的給自己充電的。網上搜索了一些教程,還是覺得《HBase權威指南》不錯,原

大數據-04-Hbase入門

用戶 我們 property tar.gz 運行 JD www 配置 分隔 本指南介紹了HBase,並詳細指引讀者安裝HBase. 前面第二章學習指南已經指導大家安裝Linux操作系統,並安裝配置了Hadoop。相關安裝可以查看“大數據-01-安裝Hadoop”。 一、安裝

Hbase基礎()

速查 src 定時 del family sig 系統 datanode 滿足 Hbase基礎 Hbase基礎 Hbase定義 行存儲 v s 列存儲 Hbase數據模型 Hbase物理模型 Hbase系統架構 Hbase的容錯 Hbase特殊的表 合並 Hbase的

Hbase入門

數據存儲 海量 一致性 入門 性能 高效 讀寫性能 都是 隨機 Hbase入門 簡介 HBase是一個構建在HDFS之上的,分布式的,面向列的開源數據庫,由Google BigTable的開源 實現,它主要用於存儲海量數據,是Hadoop生態系統中的重要一員。 HBase的

Shiro入門:基於java專案,初識Shiro

在看了兩天的《跟我學Shiro》之後,針對大佬的部落格原始碼來梳理一下對Shiro的簡單理解。 《跟我學Shiro》pdf上傳兩次都失敗了,上傳成功之後再貼出來分享給需要的同學。 首先是shiro-permission.ini檔案的配置: 裡面包含了使用者和許可權 [use

hbase單機安裝

下文將快速構建並啟動單節點hbase,不使用hdfs作為儲存,不使用獨立的zookeeper hbase官網:http://hbase.apache.org/ 一、JDK環境  hbase需要JDK環境作為前提,所以在你的linux系統中首先要安裝JDK,參考: https://www.cn

HBase之自定義HBase-Mapreduce案例

1.需求場景 將HBase中的ys表中的一部分資料通過Mapreduce遷移到ys_mr表中 2.程式碼編寫   1)構建ReadysMapreduce類,用於讀取ys表中的資料 package cn.ysjh; import java.io.IOException;

hbase) 偽叢集搭建

一句話介紹                hbase 高可靠、高效能、可伸縮、分散式 的列式儲存型資料庫。 依賴:         環境 : Jdk1.8         zookeeper  為hbase分散式儲存協同服務 (偽分散式可暫不安裝,hbase自

hbase系列之:初識hbase

一、概述   在hadoop生態圈裡,hbase可謂是鼎鼎大名。江湖傳言,hbase可以實現數十億行X數百萬列的實時查詢,可橫向擴充套件儲存空間。如果傳言為真,那得好好了解了解hbase。本文從概念上介紹hbase,稍微有點抽象,但這是學習hbase必須要了解的基礎理論;如果想直接瞭解hbase的實操內容,

HBase入門詳解(三).md

環境:centos7+hadoop3.0.3+hbase2.0.1+jdk8 HBase的MapReduce操作 注意事項: * Map繼承TableMapper * Reduce繼承TableReducer * 最後Reduce輸出的value的型別是Mut

HBase入門--HBase概念及表格設計

HBase概念及表格設計 1. 概述(扯淡~) HBase是一幫傢伙看了Google釋出的一片名為“BigTable”的論文以後,猶如醍醐灌頂,進而“山寨”出來的一套系統。 由此可見:   1. 幾乎所有的HBase中的理念,都可以從BigTable論文中得到解

hbase

為什麼有hbase? 隨著資料量越來越大,傳統的關係型資料庫不能滿足儲存需求,hive雖然能滿足儲存,但是不能滿足非結構化或者半結構化的資料儲存和高效查詢。 HBASE是什麼? Apache HBase™ is the Hadoop database, a di