命名空间是与关系数据库系统中的数据库类似的表的逻辑分组。这种抽象为即将到来的多租户相关特征奠定了基础:
- 配额管理(HBASE-8410)——限制名称空间可以消耗的资源量(即区域、表)。
- 名称空间安全管理(HBASE-9206)——为租户提供另一级别的安全管理。
- 区域服务器组(HBASE-6721)——名称空间/表可以绑定到RegionServer的子集上,从而保证了粗略的隔离级别。
1、名称空间管理
可以创建、删除或更改命名空间。在表创建期间,通过指定表单的完全限定的表名来确定名称空间成员关系:
<table namespace>:<table qualifier>
#Create a namespace
create_namespace 'my_ns'
#create my_table in my_ns namespace
create 'my_ns:my_table', 'fam'
#drop namespace
drop_namespace 'my_ns'
#alter namespace
alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
2、预定义命名空间
有两个预定义的特殊命名空间:
- HBASE系统命名空间,用于包含HBASE内部表
- 缺省表(没有显式指定命名空间的表)将自动落入该命名空间。