HBase基礎概念

来源:https://www.cnblogs.com/dzqk/archive/2018/11/23/10008965.html
-Advertisement-
Play Games

定義 非關係型分散式列式資料庫,支持大數據量查詢(百萬,上億行) 概要 數據存儲:HDFS 數據計算:MapReduce/Spark 服務協調:Zookeeper 特征 列式存儲(列只有一種類型byte[]) 分散式 大數據存儲(百萬,上億行; 上萬列) 伸縮性,擴展性(列根據業務隨意添加) 隨機快 ...


定義

非關係型分散式列式資料庫,支持大數據量查詢(百萬,上億行)

概要

  • 數據存儲:HDFS
  • 數據計算:MapReduce/Spark
  • 服務協調:Zookeeper

特征

  • 列式存儲(列只有一種類型byte[])
  • 分散式
  • 大數據存儲(百萬,上億行; 上萬列)
  • 伸縮性,擴展性(列根據業務隨意添加)
  • 隨機快速訪問:歸功於region分區
  • 強一致性(同一行的數據分佈在同一個region)
  • 自動分片(當storeFile達到閥值值,自動把一個region分裂成兩個,同時刷新hbase:meta表,以更新region信息)
  • regionserver自動故障轉移(failover):當一個regionserver進程掛掉時,Master會自動將原先regionserver
    下的reigon進行重新分配到其它regionserver
  • 支持mapreduce,hdfs: 數據導入,數據存儲
  • java api
  • thrift/rest api
  • block cache
  • web ui

不適用場景

  • 關聯
  • 事務
  • 列類型設置
  • 二級索引
  • 高級查詢(存儲過程,觸發器等)

什麼時候選用HBase

結合二三即可

  • 大數據
  • 能夠承受丟失RDBMS的特征
  • 有足夠的硬體資源

HBase與HDFS的區別

雖然HBase數據存儲在HDFS上,但查詢數據的速度區別很大

  • HDFS:屬於全表掃描查詢,速度很慢
  • HBase:根據rowKey分區,只選擇部分相應的region查詢,速度很快

HBase系統表

1.也叫目錄表(hbase:meta): 用於保存所有region信息

2.存放在zookeeper中,預設路徑是 /hbase/meta-region-server (終端執行zkCli.sh)

3.存放目錄由hbase-site.xml中zookeeper.znode.rootserver控制

Master節點

由於meta數據不是存儲在master節點,故當master掛掉時,hbase client can still run for a short time.

  • 運行在namenode
  • 管理regionserver
  • 觸發meta表的更新

WAL(Write Ahead Log)

數據先已文件形式寫入HLog,再寫入memstore

RegionServer

管理region,部署在DataNode上


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Linux 文件或目錄的屬性主要包括:文件或目錄的節點、種類、許可權模式、鏈接數量、所歸屬的用戶和用戶組、最近訪問或修改的時間等內容。具體情況如下: 命令: ls lih 輸出: 忘記ls 命令參數的,可以參考: "linux每日命令(1):ls命令" 說明: 第一列:inode 第二列:文件種類和權 ...
  • 歷史命令查詢: history 查看使用過的命令 history -c 清空歷史命令 history -w 把緩存的命令寫入到文件中。文件在/root/.bash_history 註:輸出執行過的所有命令,不管對錯,如果需要重新執行某條命令,“!行號”可以再次執行。如!256,就執行了第256行的這 ...
  • Centos6 [root@Centos6 ~]$ hostname # 查看當前的hostnmae Centos6 [root@Centos6 ~]$ vim /etc/sysconfig/network # 編輯network文件修改hostname行(重啟生效) [root@Centos6 ~ ...
  • 1.MTR(mini-transaction) 在MySQL的 InnoDB日誌管理機制中,有一個很重要的概念就是MTR。MTR是InnoDB存儲擎中一個很重要的用來保證物理寫的完整性和持久性的機制。 先看下MTR在MysQL架構中的位置。 MTR是上面的邏輯層與下麵物理層的交互視窗,同時也是用來保 ...
  • Nodejs 操作 Sql Server Intro 最近項目需要爬取一些數據,數據有加密,前端的js又被混淆了,ajax請求被 hook 了,有些複雜,最後打算使用 puppeteer 來爬取數據。 Puppeteer 是谷歌團隊在維護的一個項目,初衷主要是用來做網頁的自動化測試, Google ...
  • 用HBase shell進行表操作 1. 創建student表,表結構包含info和course列族,顯示表結構。 create ‘student’,‘info’,‘course’ desc ‘student’ 2. 修改表結構,course列族返回最大版本數為3,顯示表結構。 alter ‘stu ...
  • MySQL修改表結構操作命令總結 MySQL修改表結構操作命令總結 MySQL修改表結構操作命令總結 以下內容轉自:http://www.jb51.net/article/58079.htm 表的結構如下: 複製代碼代碼如下: mysql> show create table person;| pe ...
  • 從分治演算法說起 要說 MapReduce 就不得不說分治演算法,而分治演算法其實說白了,就是四個字 分而治之 。其實就是將一個複雜的問題分解成多組相同或類似的子問題,對這些子問題再分,然後再分。直到最後的子問題可以簡單得求解。 要具體介紹分治演算法,那就不得不說一個很經典的排序演算法 歸併排序。這裡不說它的 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...