incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "thelastpickle.com" <aa...@thelastpickle.com>
Subject Re: SV: SV: SV: Help with getting Key range with some column limitations
Date Sun, 22 Aug 2010 00:01:19 GMT
If you doing geo stuff you may want to take a look at the geo extension for couch db 
http://github.com/vmx/couchdb

Sounds like it may give you many if the features your thinking about out of the box. 

Aaron

On 20 Aug 2010, at 20:54, Jone Lura <jone.lura@ecc.no> wrote:

> Thank you for your effort.
> 
> Im pretty sure I will make it work.
> 
> Have a nice weekend!
> 
> On 20/08/2010 10:48, Thorvaldsson Justus wrote:
>> 
>> If you only want to check the last 5 min, make time a part of your key
>> And make a customized sort and sort by the time. Remember sort is made when inserting
data. http://www.sodeso.nl/?p=421
>> Or make a range check that understands the time limit, should work I think from the
top of my head.
>>  
>> But you don’t want a lot of small rows and also not to fat rows so..
>> Perhaps there is some time limit that could be rowed
>> And sc is long&lat and you can figure a way to make a range check on one of them
if they arnt to many perhaps It would work.
>> /J
>> There are so many opportunities to model that you probably want to make several and
test them
>>  
>> Från: Jone Lura [mailto:jone.lura@ecc.no] 
>> Skickat: den 20 augusti 2010 10:37
>> Till: user@cassandra.apache.org
>> Ämne: Re: SV: SV: Help with getting Key range with some column limitations
>>  
>> Thanks! Read your blog a few times, but it's hard to get rid of sql thinking.
>> 
>> So if I create a new standard ColumnFamily with a rowId and geohash a lat/lon into
a UTF8Type, I could geohash the boundingbox, and query for all matching columns. Or do I always
need to know the rowId to do a slicerange? I also need to only get the columns that are modified
within last 5 minutes.
>> 
>> Jone
>> 
>> 
>> On 20/08/2010 10:05, Thorvaldsson Justus wrote:
>> I think you should try to do it some other way than iterate, it sounds super suboptimal
to me. Also the plugin option he was thinking of I think is changing Cassandra sourcecode,
kind of hard when Cassandra is changing so fast but very possible. I think you should look
at http://blip.tv/file/4015273 and perhaps my blog post about the same thing at www.Justus.st
Cassandra post 4 more on Data model
>>  
>> Exampel code in java, start and end key, next iteration the end should be the last
key that you collected, depends how you made you model
>> //Keyrange is for what row key, you can specify what row startkey,endkey and how
many rows
>> KeyRange keyRange = new KeyRange(700);
>> keyRange.setStart_key(rowId);
>> keyRange.setEnd_key(rowId);
>>  
>>  //Specify what supercolumns you want to get
>> SliceRange sliceRange = new SliceRange();
>> sliceRange.setStart(new byte[] {});
>> sliceRange.setFinish(new byte[] {});
>>  
>> /J
>>  
>> Från: Jone Lura [mailto:jone.lura@ecc.no] 
>> Skickat: den 20 augusti 2010 08:53
>> Till: user@cassandra.apache.org
>> Ämne: Re: SV: Help with getting Key range with some column limitations
>>  
>> Thanks for you suggestions.
>> 
>> I tried to iterate them, however I could not get it to work (pretty sure its my code).
Im still not to familiar with Cassandra, so could you provide a small example?
>> 
>> The key count could be up to atleast 20k and maybe more, and users should not wait
for more than 10 seconds for their map, so I also want to investigate the plugin suggestion.
Does the plugin exist? or do I have to develop it myself? Are there any documentation on plugin
development for Cassandra?
>> 
>> Best regards
>> 
>> Jone
>> 
>> 
>> On 19/08/2010 08:42, Thorvaldsson Justus wrote:
>> You should iterate through them, get 200 then go get the next 200 and so on.
>> Also if checking a bounding box to another.. perhaps try sorting them so you could
start looking at both ends, perhaps make the iteration smaller until match somehow?
>> Just my simple coins, also upgrading will probably be needed to iterate through RP
because of bugs. But that should be simple enough to 6.4
>> /Justus
>>  
>> Från: Jone Lura [mailto:jone.lura@ecc.no] 
>> Skickat: den 18 augusti 2010 20:32
>> Till: user@cassandra.apache.org
>> Ämne: Help with getting Key range with some column limitations
>>  
>> Hi,
>>  
>> We are trying to implement Cassandra to replace one of our biggest SQL tables, and
so far we got it working.
>>  
>> However, for testing I'm using Cassandra 0.6.2, Java and Pelops. (Pelops not that
important for my question) and need suggestions on how to solve a problem retrieving a key
range based on the following.
>>  
>> <Keyspace Name="AIS">
>>       
>> 
>> 
>> 
>>         ColumnType="Super"
>>         CompareWith="LongType"
>>         KeysCached="100%"
>>         CompareSubcolumnsWith="UTF8Type" />
>>      ...
>>     </Keyspace>
>>  
>> The super column got columns for longitude and latitude.
>>  
>>  1. Need to get get max long number for key
>>  2. The key should also have supercolumns latitude and longitude column intersecting
(inside) with a given boundingbox.
>>  
>> Currently I'm doing like this
>>  
>>  
>>         KeyRange keyRange = new KeyRange();
>>         keyRange.setStart_key("");
>>         keyRange.setEnd_key("");
>>         keyRange.setCount(700);
>>  
>> And checking every row in db if it match my bounding box.
>>  
>> But there are a lot more than 700 keys.. and if i set a higher count, the get_range_slice
get a Timeout Exception.
>>  
>> Any ideas?
>>  
>> Best Regards
>> Jone
>>  
>>  
> 

Mime
View raw message