在关系数据库系统中,命名空间namespace指的是一个表的逻辑分组,同一组中的表有类似的用途。hbase命名空间的概念为即将到来的多组合特性打下基础:
- 配额管理:限制一个namespace可以使用的资源,包括region和table
- 命名空间安全管理:提供了另一个层面的多租户安全管理
- Region服务器组:一个命名或一张表,可以被固定到一组RegionServers上,从而保证了数据隔离性
namespace相关操作
# 创建namespace
create_namespace 'my_ns'
# 在namespace下创建表,cf是列族
create 'my_ns:my_table', 'cf'
# 删除namespace
drop_namespace
# 修改namespace属性
alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
预定义的命名空间
hbase中有两个内置的预定义的命名空间:
- hbase:系统命名空间,用于包含hbase的内部表
- default:所有未指定命名空间的表都自动进入该namespace