Some random thoughts/questions bubbling around in my mind regarding secondary indexes/indices.
What are the top 5 use cases people are trying to solve? What solves more of these needs: synchronous 'transactional' or asynchronous best-effort (or delayed durable) index commit? Does family level indexing make sense or is the real need for qualifier level indexing? What are ideas for a client interface and how transparent is index usage? (E.g. if you set a filter on a qualifier... ) How important is supporting multiple simultaneous criteria or would 90% of uses cases be captured with single criteria support? How important is value multi-parsing (e.g. a single value can be indexed to multiple index values: e.g. free text indexing)? What were the challenges and issues with the proof of concept TrendMicro approach that ultimately made it untenable? (was an eventually consistent approach) What are people's thoughts regarding region-level alternative structure, secondary table structure, etc? Is it important to colocate/duplicate indexed values and/or additional portions of data in secondary indices to minimize disk seeks (almost making HBase optionally more columnar in nature)? How important are multi-qualifier indexes? (e.g. when you want to do a query for all users who are male engineers that have kids) How important is partial index matching/ range matching (e.g. startswith and/or between)? How important is ordering of returned values? (e.g. if you support startswith or range matching and you do indexing at the region-level, you'll be able to get back two rows with the same value the are interspersed with rows of different values) These were partially in response to: http://wiki.apache.org/hadoop/Hbase/SecondaryIndexing http://apache-hbase.679495.n3.nabble.com/what-s-the-roadmap-of-secondary-index-of-hbase-td2573618.html https://issues.apache.org/jira/browse/HBASE-3529 https://issues.apache.org/jira/browse/HBASE-2038 https://issues.apache.org/jira/browse/HBASE-3340 https://github.com/jyates/culvert On Sun, Sep 9, 2012 at 3:44 PM, Stack <st...@duboce.net> wrote: > On Sun, Sep 9, 2012 at 3:25 PM, Jesse Yates <jesse.k.ya...@gmail.com> > wrote: > > On Sun, Sep 9, 2012 at 3:21 PM, Stack <st...@duboce.net> wrote: > > > >> On Sun, Sep 9, 2012 at 3:11 PM, Jesse Yates <jesse.k.ya...@gmail.com> > >> wrote: > >> > I think we talked about wanting to do secondary indexing as well, as > >> least > >> > what that means for HBase (and maybe some of the _how_ it would work > >> too). > >> > > >> > >> Mind leading it Jesse? You have the necessary qualifications (smile). > >> Would suggest you make include rehearsal of points made by Andrew > >> Purtell and LarsH in the most recent thread on 2ndary indexes. > >> > >> > > ....ok, I can do that :) > > Adding you to the list... Thanks J, > St.Ack >