Hi LiLi,
I agree - row key design in HBase is extremely important. That's why
Phoenix supports composite primary keys.

There are a few good ways to learn about the tricks that Phoenix does:
1) Read the wiki: https://github.com/forcedotcom/phoenix/wiki
2) Listen to my conference talks: (see #1)
3) Read my blog (see #1)
4) Implement a built-in function (see #3)

Thanks,
James


On Tue, Jan 7, 2014 at 1:33 AM, Li Li <[email protected]> wrote:

> hi all,
>     as a hbase user, I am told to carefully design table schema for
> data access pattern. e.g. you should balance wide table and tall
> table, you should do many tricks with rowkey(and even
> columnfamily,quantifier). to get followed users you should implement
> observers to add A-followedBy-B when insert B-follow-A. Using
> coprocessor to push aggregating work to server. Avoiding hot spot by
> md5(key) or adding salt....
>     In phoenix, all tricks gone. phoenix hide all from user. That's
> fine. But as phoenix is not mature as sql(even sql, many query plan is
> not well constructed and we should explain it and check the detail of
> query), how can I be convinced it's as quick as pure hbase with many
> tricks?
>     Another question, the secondary index is a great feature. will it
> slow down writing performance?
> I found many secondary indexing strategy in
> http://hbase.apache.org/book/secondary.indexes.html and also found
> some third-part solution like this:
> https://github.com/Huawei-Hadoop/hindex. How is secondary implemented?
> If I add an index to a table that already filled with many rows, will
> the old rows be indexed automatically?
>

Reply via email to