天天看點

使用HBase Client通路阿裡雲NoSQL資料庫表格存儲

自從十四年前google相繼釋出論文:《the google file system》、《mapreduce: simplified data processing on large clusters》和《bigtable: a distributed storage system for structured data》後,開源界開始模仿論文設計開源版本的這三個系統,其中佼佼者就是hadoop生态,分别對應于hadoop,hdfs和hbase。

經過十幾年業界大規模的使用和錘煉,目前hadoop生态已經成為一種事實上的業界規範,導緻nosql的鼻祖google的bigtable都支援hbase wrapper,提供了bigtable hbase client。

作為同類型的nosql資料庫,hbase的大部分功能也同樣存在于表格存儲中,甚至大部分場景下性能更優,但是表格存儲還是不同于hbase,有部分進階功能,hbase并不擁有,這個後面單獨文章介紹。

hbase client是hbase提供的便于使用者通路hbase的用戶端,支援讀、寫、掃描、批量、表管理等功能。

hadoop生态作為長久以來唯一的開源大資料解決方案,被廣泛用于各個公司中。目前,大部分自建資料處理系統的公司使用了hbase等hadoop生态的系統。當這部分使用者想将資料遷移到阿裡雲的nosql資料庫表格存儲時,之前都需要使用者重寫用戶端代碼才能使用表格存儲,雖然這種方式性能更好,對後續的使用也更友好的,但是還是初期比較耗時間,為了解決這個問題,表格存儲年前也推出了tablestore hbase client。

使用者如果之前使用hbase client通路hbase,現在隻需要在項目中将對hbase client的依賴 修改為對tablestore hbase client的依賴,同時修改hbase-site.xml中的hbase.client.connection.impl值為com.alicloud.tablestore.hbase.tablestoreconnection即可。其他代碼都不需要任何改動。

maven的依賴配置如下:

hbase-site.xml中增加下列配置項:

通過建立一個tablestoreconnection對象連結表格存儲服務。

通過指定表名建立一張表,maxversion和timetolive都是用預設值。

寫入一行資料到表格存儲。

讀取指定行的資料。

範圍讀取資料。

使用admin api删除一張表。

按照上面的步驟就可以使用tablestore hbase client了,目前,已經有使用者開始使用,後續,我們會根據使用者的回報持續優化tablestore hbase client,使其性能能追趕到原生的表格存儲(tablestore)。

使用HBase Client通路阿裡雲NoSQL資料庫表格存儲