2012年11月5日 星期一

HTablePool的多執行緒問題

Dumbo in TW是小弟在公司參與的group所維護的blog,往後小弟也會在這邊不定期update Dumbo in TW的更新ㄛ~

http://dumbointaiwan.blogspot.tw/2012/11/htablepool.html

2012年11月4日 星期日

Hbase系列課程slides之二

今天takeshi要跟大家分享的是HBase系列課程的第二個部分,這部分主要是在講解一般HBase的使用者,透過HBase client API (主要是用Java語言),存取HBase時,有哪些功能可以使用,並且要注意哪些部分,slides如下;另外,課程大綱請參閱Part 1的文章ㄛ~




課程大綱如下~

  • HBase Client API的基本使用方式
對於資料的CRUD (Create、Retrieve、Update和Delete)操作等,但是Hbase並不像一般RDB,以SQL語言為介面,可以有效隔離資料庫使用者和資料庫管理者角色區別 (當然也有一些極端的case,因為存取效率的考量,需要fine-tune SQL啦...),也就是說資料庫的使用者,不太需要關心資料在RDB裡儲存方式,只管下SQL就對了;然而,因為HBase的設計是專門針對Big Data做操作,所以它所提供的API,可以做一定程度的調整;可以讓使用者決定撈取紀錄的部分資料 (partial record data),或者是設定Cache和Batch等等,這些特殊設定或多或少都會影響的對於HBase資料操作的效率,takeshi強烈建議即使是HBase的單純使用者,對這些特殊設定也要多了解一些喔!!

  • HBase Filter API
可以把它類比成SQL語法的WHERE子句 (也就是Projection),HBase提供了各類型的Filter來讓使用者選取他/她所感興趣的資料,也提供了FilterList類別,來讓使用者組合各式各樣的Filter (包含使用者自訂的Filter),來滿足使用者複雜查詢的需求ㄛ!但另外要注意的是,針對HBase不同元素的查詢,其實是會影響的HBase的查詢效率的喔! (例如查詢rowkey的效率,會比查詢value的效率,要來的好很多!) 這個議題將在後續的課程討論,讓大家先有個印象唄!

  • HBase Coprocessor
這算是HBase Client API相當進階的功能了,它類似於傳統RDB的Trigger和Stored procedure的功能,像是HBase的安全性功能,就是使用Coprocessor實作出來的喔!!

以上,takeshi今天就分享到這,供大家參考囉 ^^