You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Elliott Clark (JIRA)" <ji...@apache.org> on 2013/05/08 03:57:17 UTC

[jira] [Comment Edited] (HBASE-8015) Support for Namespaces

    [ https://issues.apache.org/jira/browse/HBASE-8015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13651540#comment-13651540 ] 

Elliott Clark edited comment on HBASE-8015 at 5/8/13 1:55 AM:
--------------------------------------------------------------

bq.At the very least we will have to store table names fully qualified in the catalog tables.

True, but we don't need to use . here, or expose it to the user.
So I'm saying most places should use a different character to store the table name, and I would argue that we shouldn't expose that fully qualified table name to the user at all.

h3.With a namespace

{code}create 'namespace', 't1', 'f1'{code}

Places something in meta like: 'namespace,t1,,hash'

Put Usage:
{code}
put 'namespace', 't1', 'r1', 'c1', 'value'
{code}
or
{code}
use 'namespace'
put 't1', 'r1', 'c1', 'value'
{code}

h3.default space

{code}
create 't1', 'f1'
{code}

places something in meta like: 'default,t1,,hash'
{code}
put 't1', 'r1', 'c1', 'value'
{code}
or
{code}
put 'default', 't1', 'r1', 'c1', 'value'
{code}

Comma is already reserved and we can use it for everywhere that we need a string name.  But we shouldn't expose that to the user.  We shouldn't overload table name with two different parts.  It gets confusing for users when one parameter actually represents two different things (namespace and table name).
                
      was (Author: eclark):
    bq.At the very least we will have to store table names fully qualified in the catalog tables.

True, but we don't need to use . here, or expose it to the user.
So I'm saying most places should use a different character to store the table name, and I would argue that we shouldn't expose that fully qualified table name to the user at all.

h3.With a namespace

create 'namespace', 't1', 'f1'

Places something in meta like: 'namespace,t1,,hash'

Put Usage:
{code}
put 'namespace', 't1', 'r1', 'c1', 'value'
{code}
or
{code}
use 'namespace'
put 't1', 'r1', 'c1', 'value'
{code}

h3.default space

{code}
create 't1', 'f1'
{code}

places something in meta like: 'default,t1,,hash'
{code}
put 't1', 'r1', 'c1', 'value'
{code}
or
{code}
put 'default', 't1', 'r1', 'c1', 'value'
{code}

Comma is already reserved and we can use it for everywhere that we need a string name.  But we shouldn't expose that to the user.  We shouldn't overload table name with two different parts.  It gets confusing for users when one parameter actually represents two different things (namespace and table name).
                  
> Support for Namespaces
> ----------------------
>
>                 Key: HBASE-8015
>                 URL: https://issues.apache.org/jira/browse/HBASE-8015
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Francis Liu
>            Assignee: Francis Liu
>         Attachments: HBASE-8015_draft_94.patch, Namespace Design.pdf
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira