天天看點

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

hbasecon是apache hbase官方舉辦的技術會議,主要目的是分享,交流hbase這個開源分布式大資料存儲的使用和開發以及發展。hbasecon發起于2012年。通常hbasecon的舉辦地是在美國,這是hbasecon第一次在亞洲舉行,命名為apache hbasecon 2017 asia。而且這次會議舉辦地選擇在中國深圳,也足以見得hbase在中國的火爆程度和中國開發者們對hbase社群所做的卓越貢獻。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

apache hbase是基于apache hadoop建構的一個分布式、可伸縮的key-value資料庫,它提供了大資料背景下的高性能的随機讀寫能力。做為最早研究、使用和二次開發hbase技術的中國公司,阿裡巴巴從2010年就開始使用hbase,經過近7年的發展,現在采用hbase存儲的業務已經超過1000+,擁有了上萬台的hbase叢集規模,在hbase上存儲的資料已達pb級。秉承開源和分享的精神,阿裡把hbase的實踐經驗和改進不斷回饋hbase社群,比如說bucket cache和reverse scan等功能,給hbase技術發展帶來了非常深遠的影響。同時,也給hbase社群培養了2名pmc和2名committer,阿裡在hbase社群的影響力可見一斑。那麼這次hbasecon 2017 asia。阿裡派出了一位hbase pmc和2位committer,還有兩位資深的hbase開發,給大家帶來了十足的幹貨。

阿裡幹貨系列

一、強同步複制

傳統的hbase主備叢集同步使用的方案是異步複制,這使得主備叢集資料之間會有短暫的資料不同步現象。使用者為了災備,不得不放棄強一緻模型。沒法放棄強一緻語義的使用者,必須自己寫一套複雜的邏輯來保證主備叢集之間資料的讀寫一緻性。阿裡的hbase技術專家天引,在此次的hbasecon asia上給大家帶來了強同步複制方案。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

據天引介紹,強同步複制方案采用了主備并發寫和remotelog技術,使得在同城網絡條件下同步複制相對于異步複制僅有2%的吞吐量下降。當一個請求到達主庫後,并發寫本地和備庫,到達備庫的同步寫不需要走完整的寫入路徑,而是直接寫入remotelog,降低同步寫開銷與延時。除了同步鍊路外,還有一套異步鍊路将資料從主庫複制到備庫,是以正常情況下不需要回放remotelog的資料到備庫,在主庫不可服務的情況下,隻需要回放remotelog中那些還沒有被異步複制鍊路同步到備庫的資料,異步複制隻有幾秒鐘的資料延遲,這保證了可以在很短的時間内完成從主庫到備庫的切換。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

此方案在大會現場引起了強烈反響,很多hbase使用者表示這是他們期待已久的功能,希望能盡快使用上。天引表示此功能目前基于阿裡内部分支實作、運作及完善,未來将會回饋給社群。

二、sql on hbase

阿裡hbase服務了大量的内部使用者,并持續有新使用者接入。但是使用hbase的使用者有很大一部分是從傳統的sql資料庫轉過來的,hbase的rowkey設計和api的使用習慣對于他們來說并不友好。為了降低這些轉型使用者的使用門檻,阿裡在hbase上引入了sql層。來自阿裡的資深hbase開發工程師天穆,給大家詳細講解了如何玩轉sql on hbase。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

通過優化,現在在阿裡使用sql通路hbase和原生api的速度已經相差無幾,而且在sql文法上,創造性地支援hbase多版本和時間戳等nosql才具有的功能。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

另外,在hbase上同時支援了全局二級索引和本地二級索引。使使用者可以在多列上建立索引,簡化了業務的設計,提升了請求效率,降低了使用成本。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

三、跨叢集分區拷貝

hbase上通常承載着海量的資料,而在日常生産過程中,随着業務的發展和公司資料中心的規劃等原因,這些海量資料需要經常搬遷,這通常對于運維來說是一個非常頭疼的問題。來自阿裡的hbase社群committer正研,分享了阿裡跨叢集分區拷貝的場景和成熟解決方案。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

正研首先介紹了在阿裡内部常見的需要資料拷貝的場景,比如說建立資料中心,hbase叢集需要整體搬遷到新的機房;又比如說不同機房内的hbase叢集的增量資料同步,可以用replication來解決,但是對于存量資料,目前還沒有比較高效的方案;另外還一個常見場景就是資料恢複,而傳統的hbase備份還原工具都沒法控制資料恢複的範圍。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

是以,阿裡研發了range data copy功能内置在hbase中,提供了一個簡單高效,而且能夠自動處理各種錯誤情況和災難恢複的資料拷貝功能,使用這個功能拷貝一張200tb的表到另外一個叢集,所需時間不到5小時。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

四、讀寫鍊路優化

在阿裡使用hbase的過程中,對hbase本身做了非常多的讀寫性能優化。來自阿裡的hbase社群pmc絕頂和committer天照,一起給大家分享了阿裡在這方面所取得的一些成果。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

1、使用netty替代hbase原生的rpc server,大大提升了hbaserpc的吞吐能力,降低了延遲 ;

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

2、 引入新的hfileblock編碼格式,把順序搜尋變成了二分查找,提高了hbase随機讀的能力

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

3、拆分寫鍊路,釋放阻塞的handler資源,提高了hbase寫的吞吐能力 ;

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

來自阿裡的這些優化黑科技,使hbase的能力又更上一個新台階。并且這些優化和功能目前已經回饋給了社群,所有的hbase使用者都能在新版本的使用獲得這些技術紅利。

總結

除了阿裡帶來的技術分享,現場許多其他公司也都帶來了他們對hbase做出的改進和使用經驗。比如說小米實作了asyncclient,填補了hbase沒有原生異步api的缺口;知乎使用kubernetes自動擴容縮容hbase叢集,靈活地适應業務高速發展和瞬息萬變;烽火網絡隔離讀寫資源使近線查詢更加穩定等等。

除了上述提到的這幾個亮點技術分享,此次hbasecon大會的每一個session都非常精彩,給大家帶來了一場又一場思維碰撞的盛宴。apache hbase“掌門人”michael stack也參加了此次會議,并與hbase開發者們舉行了一次圓桌會議,共同探讨hbase的現狀和未來。

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

這次hbasecon的火爆程度,直接展示了國内企業和開發者們對hbase熱情和期望。hbasecon大會不僅給hbase的使用者們帶來了最新鮮的技術進展,互通有無,吸收其他公司的先進經驗;也成為hbase使用者和開發者之間溝通的橋梁,能讓開發者們看到業界動态,使用者的需求,共同把hbase打造成一個更加易用,更高性能,更穩定的大資料存儲。這次hbasecon大會是一個很好的開端,期望hbasecon asia越辦越好,給大家帶來更多的幹貨!

阿裡5位嘉賓3個分享:HBaseCon Asia 2017幹貨滿滿

最後

如果你對大資料線上存儲、對hbase感興趣,或者是想更好地使用hbase、開發更nb的産品,歡迎聯系我們(正研,[email protected]),一起交流,互相學習!

本文作者:楊文龍(正研)

來源:51cto