Tablestore HBase Client支持的功能
使用表格存儲時,表格存儲會為您屏蔽數(shù)據(jù)表分裂、Dump、Compact、Region Server等底層相關(guān)的細(xì)節(jié),您只需要關(guān)心數(shù)據(jù)的使用。雖然Tablestore與HBase在數(shù)據(jù)模型及功能上相近,但是Tablestore HBase Client與原生的HBase API存在一些區(qū)別。本文為您介紹Tablestore HBase Client支持的功能和操作。
功能支持情況
CreateTable
表格存儲不支持列族(ColumnFamily),所有的數(shù)據(jù)可以理解為在同一個ColumnFamily內(nèi),所以表格存儲的TTL及Max Versions都是數(shù)據(jù)表級別的,支持的功能請參見下表。
功能 | 支持情況 |
family max version | 支持表級別max version,默認(rèn)為1 |
family min version | 不支持 |
family ttl | 支持表級別TTL |
is/set ReadOnly | 通過RAM用戶支持 |
預(yù)分區(qū) | 不支持 |
blockcache | 不支持 |
blocksize | 不支持 |
BloomFilter | 不支持 |
column max version | 不支持 |
cell ttl | 不支持 |
控制參數(shù) | 不支持 |
Put
功能 | 支持情況 |
一次寫入多列數(shù)據(jù) | 支持 |
指定一個時間戳 | 支持 |
如果不寫時間戳,默認(rèn)用系統(tǒng)時間 | 支持 |
單行ACL | 不支持 |
ttl | 不支持 |
Cell Visibility | 不支持 |
tag | 不支持 |
Get
表格存儲能保證數(shù)據(jù)的強(qiáng)一致性,在數(shù)據(jù)寫入API收到HTTP 200狀態(tài)碼(OK)的回復(fù)時,數(shù)據(jù)即被持久化到所有的備份上,這些數(shù)據(jù)能夠立即被Get讀取到。
功能 | 支持情況 |
讀取一行數(shù)據(jù) | 支持 |
讀取一個列族里面的所有列 | 支持 |
讀取特定列的數(shù)據(jù) | 支持 |
讀取特定時間戳的數(shù)據(jù) | 支持 |
讀取特定個數(shù)版本的數(shù)據(jù) | 支持 |
TimeRange | 支持 |
ColumnfamilyTimeRange | 不支持 |
RowOffsetPerColumnFamily | 支持 |
MaxResultsPerColumnFamily | 不支持 |
checkExistenceOnly | 不支持 |
closestRowBefore | 支持 |
attribute | 不支持 |
cacheblock:true | 支持 |
cacheblock:false | 不支持 |
IsolationLevel:READ_COMMITTED | 支持 |
IsolationLevel:READ_UNCOMMITTED | 不支持 |
IsolationLevel:STRONG | 支持 |
IsolationLevel:TIMELINE | 不支持 |
Scan
表格存儲能保證數(shù)據(jù)的強(qiáng)一致性,在數(shù)據(jù)寫入API收到HTTP 200狀態(tài)碼(OK)的回復(fù)時,數(shù)據(jù)即被持久化到所有的備份上,這些數(shù)據(jù)能夠立即被Scan讀取到。
功能 | 支持情況 |
指定start、stop確定掃描范圍 | 支持 |
如果不指定掃描范圍,默認(rèn)掃描全局 | 支持 |
prefix filter | 支持 |
讀取邏輯同Get | 支持 |
逆序讀 | 支持 |
caching | 支持 |
batch | 不支持 |
maxResultSize,返回數(shù)據(jù)量大小的限制 | 不支持 |
small | 不支持 |
cacheblock:true | 支持 |
cacheblock:false | 不支持 |
IsolationLevel:READ_COMMITTED | 支持 |
IsolationLevel:READ_UNCOMMITTED | 不支持 |
IsolationLevel:STRONG | 支持 |
IsolationLevel:TIMELINE | 不支持 |
allowPartialResults | 不支持 |
Batch
功能 | 支持情況 |
Get | 支持 |
Put | 支持 |
Delete | 支持 |
batchCallback | 不支持 |
Delete
功能 | 支持情況 |
刪除整行 | 支持 |
刪除特定列的所有版本 | 支持 |
刪除特定列的特定版本 | 支持 |
刪除特定列族 | 不支持 |
指定時間戳?xí)r,deleteColumn會刪除等于這個時間戳的版本 | 支持 |
指定時間戳?xí)r,deleteFamily和deleteColumns會刪除小于等于該時間戳的所有版本 | 不支持 |
不指定時間戳?xí)r,deleteColumn會刪除最近的版本 | 不支持 |
不指定時間戳?xí)r,deleteFamily和deleteColumns會刪除當(dāng)前系統(tǒng)時間的版本 | 不支持 |
addDeleteMarker | 不支持 |
checkAndXXX
功能 | 支持情況 |
CheckAndPut | 支持 |
checkAndMutate | 支持 |
CheckAndDelete | 支持 |
檢查列的值是否滿足條件,滿足則刪除 | 支持 |
如果不指定值,則表示缺省 | 支持 |
跨行,檢查A行,執(zhí)行B行 | 不支持 |
exist
功能 | 支持情況 |
判斷一行或多行是否存在,不返回內(nèi)容 | 支持 |
Filter
功能 | 支持情況 |
ColumnPaginationFilter | 不支持columnOffset和count |
ColumnRangeFilter | 支持 |
FilterList | 支持FilterList中包含ColumnRangeFilter、ColumnValueFilter和ColumnPaginationFilter的組合與嵌套。 |
SingleColumnValueFilter |
|
不支持的方法
各功能模塊不支持的方法說明請參見下表。
功能模塊 | 不支持的方法說明 |
Table | 不支持多列族,只支持單列族。 |
Row和Cell |
|
GET | 表格存儲只支持單列族,因此不支持列族相關(guān)的接口。
|
SCAN | 類似于GET,由于不支持列族相關(guān)接口,因此也不能設(shè)置優(yōu)化類部分接口。不支持的優(yōu)化類部分接口如下:
|
Batch | 暫時不支持BatchCallback。 |
Mutations和Deletions |
|
Increment和Append | 暫不支持原子增減和原子Append。 |
Optimization | HBase的部分接口涉及到訪問、存儲優(yōu)化等,這類接口目前未開放。具體接口信息如下:
|
Admin | HBase中的接口 由于表格存儲是云服務(wù),運維、管控類的操作都會被自動執(zhí)行,用戶無需關(guān)注。其他一些少量接口,目前暫不支持。
|
Snapshots | 表格存儲目前不支持Snapshots,所以暫時不支持Snapshots相關(guān)的方法。 |
Replication | 表格存儲目前不支持Replication,所以暫時不支持Replication相關(guān)的方法。 |
Table管理 | 表格存儲會自動對Table下的數(shù)據(jù)分區(qū)進(jìn)行分裂、合并及Compact等操作,所以不支持如下方法:
|
Coprocessors | 表格存儲暫時不支持協(xié)處理器,所以不支持如下方法:
|
Distributed procedures | 表格存儲不支持Distributed procedures,所以不支持如下方法:
|
限制項
表格存儲是云服務(wù),為了整體性能最優(yōu),對部分參數(shù)做了限制且不支持用戶通過配置進(jìn)行修改。具體限制項請參見通用限制。