We did design with something equivalent to userid as the key and all the user sessions in there. But when we tried to look for particular user sessions within a time range, we found the ColumnPrefixFilter (say on the timerange) did not give us much performance. So we ended up creating another table with time-range as key and all the user sessions ids in it (equivalent). I am pretty much repeating Bryan, but if you just use the ids, you do not duplicate that much data (called secondary index ?) Regards, - kiru
Kiru Pakkirisamy | webcloudtech.wordpress.com ________________________________ From: Bryan Beaudreault <[email protected]> To: [email protected] Sent: Friday, August 16, 2013 8:06 AM Subject: Re: issue about rowkey design HBase is all about denormalization and designing for the usecase/query pattern. If it's possible for your application it will be better to provide three different indexes, as opposed to fitting them all into one rowkey design. On Fri, Aug 16, 2013 at 5:33 AM, ch huang <[email protected]> wrote: > hi,all > i have data (data is very huge) with user id ,session id ,and visit > time. my query pattern is ,"find all user id in certain time range,find one > user's all session id ,and find all session id in certain time range". > my difficult is that i can not find a rowkey that good for all the > search pattern, i wonder if i need set three rowkey for these search > patterns,it's say i need triple my data storage ,any good idea? >
