hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4489) Better key splitting in RegionSplitter
Date Thu, 13 Oct 2011 01:13:11 GMT

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

Jonathan Gray commented on HBASE-4489:
--------------------------------------

Historically ASCII has proven a bad choice in key design.  If it's always fixed length, it's
less of a big deal and really does come down to space savings vs. readability.  In many applications,
row keys are composite keys made up of many different things.  Often times, the key may be
preceded by some fixed-length random hash of some sort.

I almost always want to be building these composite keys from fixed-length binary ints/longs
and such, rather than fixed-length ascii characters.

If we are talking a straightforward key-val situation with a string-like key, then the usability
of ASCII would make sense.
                
> Better key splitting in RegionSplitter
> --------------------------------------
>
>                 Key: HBASE-4489
>                 URL: https://issues.apache.org/jira/browse/HBASE-4489
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.90.4
>            Reporter: Dave Revell
>            Assignee: Dave Revell
>         Attachments: HBASE-4489-branch0.90-v1.patch, HBASE-4489-branch0.90-v2.patch,
HBASE-4489-branch0.90-v3.patch, HBASE-4489-trunk-v1.patch, HBASE-4489-trunk-v2.patch, HBASE-4489-trunk-v3.patch
>
>
> The RegionSplitter utility allows users to create a pre-split table from the command
line or do a rolling split on an existing table. It supports pluggable split algorithms that
implement the SplitAlgorithm interface. The only/default SplitAlgorithm is one that assumes
keys fall in the range from ASCII string "00000000" to ASCII string "7FFFFFFF". This is not
a sane default, and seems useless to most users. Users are likely to be surprised by the fact
that all the region splits occur in in the byte range of ASCII characters.
> A better default split algorithm would be one that evenly divides the space of all bytes,
which is what this patch does. Making a table with five regions would split at \x33\x33...,
\x66\x66...., \x99\x99..., \xCC\xCC..., and \xFF\xFF.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message