命名空间是与关系数据库系统中的数据库类似的表的逻辑分组。这种抽象为即将出现的多租户相关功能奠定了基础:

  • 配额管理( HBASE-8410 ) - 限制命名空间可以使用的资源数量(即区域,表)。

  • 命名空间安全管理( HBASE-9206 ) - 为租户提供另一级别的安全管理。

  • 区域服务器组( HBASE-6721 ) - 可以将命名空间/表固定到 RegionServers 的子集上,从而保证粗粒度的隔离级别。

23.1.命名空间管理

可以创建,删除或更改命名空间。通过指定表单的完全限定表名,在表创建期间确定命名空间成员资格:

<table namespace>:<table qualifier> 

例 7

#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'} 

23.2.预定义的名称空间

有两个预定义的特殊命名空间:

  • hbase - 系统命名空间,用于包含 HBase 内部表
  • default - 没有明确指定名称空间的表将自动落入此名称空间

例 8

#namespace=foo and table qualifier=bar
create 'foo:bar', 'fam'

#namespace=default and table qualifier=bar
create 'bar', 'fam'