1. 程式人生 > >華為hbase二級索引(secondary index)細節分析 2013-06-03 | 相關總結

華為hbase二級索引(secondary index)細節分析 2013-06-03 | 相關總結

華為在HBTC 2012上由其高階技術經理Anoop Sam John透露了其二級索引方案,這在業界引起極大的反響,甚至有人認為,如果華為早點公佈這個方案,hbase的某些問題早就解決了。其核心思想是保證索引表和主表在同一個region server上。

下面來對其方案做一個分析。

1.整體架構

這個架構在Client Ext中設定索引細節,在Balancer中收集資訊,在Coprocessor中管理二級索引資料。

architecture

2.表建立

在建立表的時候,在同一個region server上建立索引表,且一一對應。

tableCreate

3.插入操作

在主表中插入某條資料後,用Coprocessor將索引列寫到索引表中去,寫道索引表中的資料的主鍵為:region開始key+索引名+索引列值+主表row key。這麼做,是為了讓其在同一個分佈規則下,索引表會跟主表在通過region server上,在查詢的時候就可以少一次rpc。

putOperation

4.scan操作

一個查詢到來的時候,通過coprocessor鉤子,先從索引表中查詢範圍row,然後再從主表中相關row中掃描獲得最終資料。

scan

5. split操作處理

為了使主表和索引表在同一個RS上,要禁用索引表的自動和手動split,只能由主表split的時候觸發,當主表split的時候,對索引表按其對應資料進行劃分,同時,對索引表的第二個daughter split的row key的前面部分修改為對應的主鍵的row key。

split

6. 效能

查詢效能極大提升,插入效能下降10%左右

performance1

performance2

總結,本文對華為hbase使用coprocessor進行二級索引的方案的建立表,插入資料,查詢資料的步驟進行了一個粗略分析,以窺其全貌。在使用的時候,可以作為一個參考。

相關推薦

hbase二級索引secondary index細節分析 2013-06-03 | 相關總結

華為在HBTC 2012上由其高階技術經理Anoop Sam John透露了其二級索引方案,這在業界引起極大的反響,甚至有人認為,如果華為早點公佈這個方案,hbase的某些問題早就解決了。其核心思想是保證索引表和主表在同一個region server上。 下面來對其方案做

Hindex--Hbase二級索引

華為在HBTC 2012上由其高階技術經理Anoop Sam John透露了其二級索引方案,這在業界引起極大的反響,甚至 有人認為,如果華為早點公佈這個方案,hbase的某些問題早就解決了。其核心思想是保證索引表和主表在同一個 region server上。 更新:目前該方

trunk附案例so easy

-type 思路 ble -s word ans all adding round 實驗環境:華為模擬器1. 配置pc機ip(192.168.10.1 192.168.20.1 192.168.10.2 192.168.20.2),子掩:255.

主鍵primary key和唯一索引unique index區別

主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。 所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成參照完整性約束,防止出現數

sql:主鍵primary key和唯一索引unique index區別

主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。  所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成參照完整性約束

在IntelliJ IDEA中同步程式碼到雲git倉庫 on windows 續 -- 配置好正確的SSH key

不管是以華為雲還是以github作為託管平臺,都有會用到SSH或是Https。最近在用華為雲,遇到了些問題,比較low的問題,特此記錄下。 華為雲上在新建SSH金鑰頁面有一段關於SSH的介紹,我覺得寫的挺好的: SSH金鑰幫助文件 公鑰是程式碼託管服務(

PostgreSQL 11 新特性之覆蓋索引Covering Index

文章目錄 通常來說,索引可以用於提高查詢的速度。通過索引,可以快速訪問表中的指定資料,避免了表上的掃描。 有時候,索引不僅僅能夠用於定位表中的資料。某些查詢可能只需要訪問索引的資料,就能夠獲取所需要的結果,而不需要再次訪問表中的資料。這種訪問資料的方法叫做 In

MySQL之主鍵primary key和唯一索引unique index區別

主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。  所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成

機試---解密全排列

亮亮深吸一口氣,小心地將盒子開啟,裡面是一張地圖,地圖上除了一些奇怪的字母以外沒有任何路線資訊,這可讓亮亮犯了愁,這些字母代表了什麼意思呢? 亮亮絞盡腦汁也想不出什麼思路,突然,亮亮眼前一亮,“我可以把這些字母所有的排列方式全部寫出來,一定可以找到答案!” 於是,亮亮興奮的開始尋找字母裡的祕密。輸入描述: 每

在IntelliJ IDEA中同步程式碼到雲git倉庫 on windows

在IntelliJ IDEA中同步程式碼到華為雲程式碼倉庫和同步到github中差不多,只是兩個不同的程式碼託管平臺,公司現在讓把原始碼放到華為雲上,捯飭了一會,捋一下步驟。 假如你在IDEA中建立了一個maven專案,叫ideaToHuaWeiCloud,並

手把手教你整合機器學習服務ML Kit人臉檢測功能

當給自己拍一張美美的自拍照時,卻發現照片中自己的臉不夠瘦、眼睛不夠大、表情不夠豐富可愛…如果此時能夠一鍵美顏瘦臉並且新增可愛的貼紙的話,是不是很棒? 當家裡的小孩觀看iPad螢幕時間過長或者眼睛離螢幕距離過近,家長沒能時刻關注到時,如果有一款可以實現parent control的應用,那是不是很方便?面對以

HBase利用observer協處理器建立二級索引

一、協處理器—Coprocessor         1、 起源 Hbase 作為列族資料庫最經常被人詬病的特性包括:無法輕易建立“二級索引”,難以執 行求和、計數、排序等操作。比如,在舊版本的(<0.92)Hbase 中,統

Hbase二級索引方案Solr key value index

概述 在Hbase中,表的RowKey 按照字典排序, Region按照RowKey設定split point進行shard,通過這種方式實現的全域性、分散式索引. 成為了其成功的最大的砝碼。 然而單一的通過RowKey檢索資料的方式,不再滿足更多的需求,查詢成為Hb

hbase二級索引構建

tables required family create tab ice converts length strong 參考學習hbase源代碼中的二級索引構建代碼 IndexBuilder.java /** * * Licensed to the Apache

拓撲---vrrp虛擬路由器冗余協議的使用

moni pla ext 交互 進入 報文 設置ip 導致 enter 一、拓撲圖展示—華為的vrrp(虛擬路由器冗余協議)的使用 二、你要知道的知識點 1.什麽是vrrp? VRRP是共有協議,在多個路由器之間運行,可以虛擬出一個或者多個網關IP地址(虛擬路由器),從

CISICO與命令的對比

初識cisico一、cisico的基本配置 (1)router> 用戶模式(2)router# 特權模式(3)router(config)# 全局配置模式(4)router(config-if)# 接口模式(5)Router>enable 從用戶模式進入到特權模式(6)Router#co

Hbase二級索引+CDH+Lily

1.更改表結構,允許複製 已存在的表 disable 'tableName' alter 'tableName',{NAME =>'fn', REPLICATION_SCOPE =>1} enable 'tableName' 不存在的表 create ‘table‘,{N

esight搭建之一環境的搭建

1.檢查作業系統 esight:~ # cat /proc/version Linux version 3.0.101-63-default ([email protected]) (gcc version 4.3.4 [gcc-4_3-branch revision 1529

榮耀筆記本評測僅供參考

現在就是用這檯筆記本在寫部落格,之前從來沒有寫過評測,也算是記錄一下吧!僅供大家參考 1.整體感覺 還可以,就這個價位來說應該是除了神船之外最好的了吧!比小米還便宜 就幾點說下: 1.鍵盤 特別淺,和小米一樣,可能是不習慣吧!對於以後長寫論文和程式設計來說,不是很開心。寬度

雲AI隨筆15

remove刪除元素如上。 del如下。pop彈出元素並返回。 print(x) [1, 2, 5, 6, 8, 4, 3, 5] del x[3] print(x) [1, 2, 5, 8, 4,