TableStorage与HBase的区别
更新时间:2019-06-18
TableStorage不支持的接口
管理类接口
功能 | 支持情况 | 详细说明 |
---|---|---|
多列族 | 仅支持单列族,且列族名必须为"cf0"。 不支持增加和删除列族的操作。 |
- |
truncateTable | 不支持 | - |
disable table与enable table | 不支持 | - |
表参数优化 | 不支持 | blocksize,默认为 64K,不允许用户更改 |
表格管理操作 | 不支持 | 表管理操作由TableStorage自动执行,不对外开放,包括以下接口: - compact(TableName tableName) - compact(TableName tableName, byte[] columnFamily) - flush(TableName tableName) - getCompactionState(TableName tableName) - majorCompact(TableName tableName) - majorCompact(TableName tableName, byte[] columnFamily) - modifyTable(TableName tableName, HTableDescriptor htd) - split(TableName tableName) - split(TableName tableName, byte[] splitPoint) |
任务维护类操作 | 不支持 | 任务维护操作由TableStorage自动执行,不对外开放,包括以下接口: - abort(String why, Throwable e) - balancer() - enableCatalogJanitor(boolean enable) - getMasterInfoPort() - isCatalogJanitorEnabled() - rollWALWriter(ServerName serverName) - runCatalogScan() - setBalancerRunning(boolean on, boolean synchronous) - updateConfiguration(ServerName serverName) - updateConfiguration() - stopMaster() - shutdown() |
NameSpace相关接口 | 不支持 | TableStorage中,Instance相当于Namespace,因此不支持Namespace相关接口,包括: - createNamespace(NamespaceDescriptor descriptor) - modifyNamespace(NamespaceDescriptor descriptor) - getNamespaceDescriptor(String name) - listNamespaceDescriptors() - listTableDescriptorsByNamespace(String name) - listTableNamesByNamespace(String name) - deleteNamespace(String name) |
Region相关接口 | 不支持 | Region管理操作由TableStorage自动执行,不对外开放,包括以下接口: - assign(byte[] regionName) - closeRegion(byte[] regionname, String serverName) - closeRegion(ServerName sn, HRegionInfo hri) - closeRegion(String regionname, String serverName) - closeRegionWithEncodedRegionName(String encodedRegionName, String serverName) - compactRegion(byte[] regionName) - compactRegion(byte[] regionName, byte[] columnFamily) - compactRegionServer(ServerName sn, boolean major) - flushRegion(byte[] regionName) - getAlterStatus(byte[] tableName) - getAlterStatus(TableName tableName) - getCompactionStateForRegion(byte[] regionName) - getOnlineRegions(ServerName sn) - majorCompactRegion(byte[] regionName) - majorCompactRegion(byte[] regionName, byte[] columnFamily) - mergeRegions(byte[] encodedNameOfRegionA, byte[] encodedNameOfRegionB, boolean forcible) - move(byte[] encodedRegionName, byte[] destServerName) - offline(byte[] regionName) - splitRegion(byte[] regionName) - splitRegion(byte[] regionName, byte[] splitPoint) - stopRegionServer(String hostnamePort) - unassign(byte[] regionName, boolean force) |
读写类接口
写入与删除
功能 | 支持情况 |
---|---|
写入一条数据 | 支持,rowkey必须能正确转换为字符串,否则不保证rowkey的正确性 |
batch | 暂时不支持BatchCallback |
Increment和Append | 不支持 |
RowMutation操作 | 不支持 |
CAS操作 | 不支持 |
随机读与批量读
功能 | 支持情况 |
---|---|
filter | 不支持 |
指定列族读 | 不支持 |
指定时间戳或指定时间戳范围读 | 不支持 |
优化类配置 | 主要包括以下配置: - blockcache:默认为 true,不允许用户更改 - IsolationLevel:默认为 READ_COMMITTED,不允许用户更改 - Consistency:默认为 STRONG,不允许用户更改 - SmallScan:默认为false,不允许用户更改 |
其他不支持的接口
除以上接口外,tablestorage还不支持以下接口:
- 不支持ACL相关接口
- 不支持Snapshot相关接口
- 不支持Replication相关接口
- 不支持Coprocessor相关接口
- 不支持Distributed procedures相关接口
限制
TableStorage的使用存在一些限制,请在迁移过程中合理规划,详细信息参考:使用限制