【轉】華為Hbase二級索引(Secondary Index)細節分析

來源:互聯網
上載者:User

標籤:http   io   ar   使用   sp   for   on   資料   問題   

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

更新:目前該方案華為已經開源,詳見:https://github.com/Huawei-Hadoop/hindex

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

1.整體架構

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

2.表建立

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

3.插入操作

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

4.scan操作

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

5. split操作處理

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

6. 效能

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

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

原文出處:鄧的部落格

【轉】華為Hbase二級索引(Secondary Index)細節分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.