今天takeshi要跟大家分享的是HBase系列課程的第二個部分,這部分主要是在講解一般HBase的使用者,透過HBase client API (主要是用Java語言),存取HBase時,有哪些功能可以使用,並且要注意哪些部分,slides如下;另外,課程大綱請參閱
Part 1的文章ㄛ~
課程大綱如下~
對於資料的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的單純使用者,對這些特殊設定也要多了解一些喔!!
可以把它類比成SQL語法的WHERE子句 (也就是Projection),HBase提供了各類型的
Filter來讓使用者選取他/她所感興趣的資料,也提供了
FilterList類別,來讓使用者組合各式各樣的Filter (包含使用者自訂的Filter),來滿足使用者複雜查詢的需求ㄛ!但另外要注意的是,針對HBase不同元素的查詢,其實是會影響的HBase的查詢效率的喔! (例如查詢rowkey的效率,會比查詢value的效率,要來的好很多!) 這個議題將在後續的課程討論,讓大家先有個印象唄!
這算是HBase Client API相當進階的功能了,它類似於傳統RDB的Trigger和Stored procedure的功能,像是HBase的安全性功能,就是使用Coprocessor實作出來的喔!!
以上,takeshi今天就分享到這,供大家參考囉 ^^
沒有留言:
張貼留言