Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # dev >> [DISCUSS] Namespace Delimiter


Copy link to this message
-
Re: [DISCUSS] Namespace Delimiter
One thing I had in mind was to automatically assume that the first dot delimits the namespace name. During upgrade we automatically create those namespaces and assign the tables accordingly. They can then eventually migrate/rename their tables (if needed) at a later time. In the extreme case that would be one namespace per table. For which we will provide a tool to rename offline tables.

I'm guessing most cases would not require a rename. What else do people use dots in their table name for?

-Francis

On May 7, 2013, at 4:49 PM, Ian Varley wrote:

> I would also submit that "." is a pretty universal standard (citation needed) in relational databases for separating namespaces (schemas, etc.) from tables. We use that now to represent the same idea, and using a different delimiter would be less than ideal in the long run.
>
> But, I agree with Jon - anything in the 0.96 upgrade that causes people to change client code in lock-step isn't going to fly.
>
> Is there any solution which can use "." but be transparent at upgrade time? I.e. you could still refer to it by its full "Namespace.Table" name in client code, and it does a little more work to try both combinations? That'd prevent cases where someone already has tables called both "Y' and "X.Y", but, come on, who does that?
>
> Ian
>
> On May 7, 2013, at 6:43 PM, Jonathan Hsieh wrote:
>
> I prefer using a delimiter that does not require migration.  As someone who
> has to support a wide variety of users, this will cause much less confusion
> from our users (and save me grief!)
>
> From the code [1], any symbol char other than '.', '_', or '-' would be an
> ok delimiter.  howabout a ':' or '#'?
>
> [1]
> https://github.com/apache/hbase/blob/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java#L415
>
> Jon.
>
>
> On Tue, May 7, 2013 at 4:38 PM, Francis Liu <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> As part of the namespace patch (HBASE-8015). We will need a delimiter to
> separate namespace name from table name. The obvious choice here would be a
> dot '.'. Since dot is presently a valid character for table names that
> would require users to migrate their tables (ie renaming tables) as part of
> upgrade to 0.96. Another option is to use a different delimiter to avoid
> the table migration altogether. Thoughts?
>
> -Francis
>
>
>
>
> --
> // Jonathan Hsieh (shay)
> // Software Engineer, Cloudera
> // [EMAIL PROTECTED]
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB