diff --git a/src/main/docbkx/book.xml b/src/main/docbkx/book.xml index 7ee603e8319..32094814b17 100644 --- a/src/main/docbkx/book.xml +++ b/src/main/docbkx/book.xml @@ -182,6 +182,70 @@ +
+ Namespace + + A namespace is a logical grouping of tables analogous to a database in relation database + systems. This abstraction lays the groundwork for upcoming multi-tenancy related features: + + Quota Management (HBASE-8410) - Restrict the amount of resources (ie + regions, tables) a namespace can consume. + Namespace Security Administration (HBASE-9206) - provide another + level of security administration for tenants. + Region server groups (HBASE-6721) - A namespace/table can be + pinned onto a subset of regionservers thus guaranteeing a course level of + isolation. + + +
+ Namespace management + + A namespace can be created, removed or altered. Namespace membership is determined during + table creation by specifying a fully-qualified table name of the form: + + <table namespace>:<table qualifier> + + + Examples: + + +#Create a namespace +create_namespace 'my_ns' + +#create my_table in my_ns namespace +create 'my_ns:my_table', 'fam' + +#delete namespace +delete_namespace 'my_ns' + +#alter namespace +alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'} + + +
+
+ Predefined namespaces + + There are two predefined special namespaces: + + hbase - system namespace, used to contain hbase internal tables + default - tables with no explicit specified namespace will automatically + fall into this namespace. + + + + Examples: + +#namespace=foo and table qualifier=bar +create 'foo:bar', 'fam' + +#namespace=default and table qualifier=bar +create 'bar', 'fam' + + +
+
+
Table