cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jeske <dav...@gmail.com>
Subject Re: Storing pre-sorted data
Date Tue, 18 Oct 2011 08:30:04 GMT
On Tue, Oct 18, 2011 at 12:14 AM, Matthias Pfau <pfau@l3s.de> wrote:

> we want to sort completely on the client-side (where the data is
> encrypted). But that requires an "insert at offset X" operation. We would
> always use CL QUORUM and client side synchronisation.
>

You can do "insert at offset X"... just make X be an int, float, or string
and you can create your own offsets.

Key = 1.1  Value = record A
Key = 1.2  Value = record C

Want to "insert at offset 2" between records A and C, just use "Key = 1.15".
If you are worried about the float overflowing, use strings instead.

In order to use an "insert at X" operation, you would have to either (a)
have an entire sorted copy of the data in your other system to find the
insertion-location, which begs to ask why you need Cassandra, or (b) do a
log(N)-ish search through the Cassandra dataset to "find" the insertion
point, retrieving and decrypting each record as you went. This could be
pretty slow, as you'd be doing out-of-process roundtrips just to find the
insertion point. However, it is possible today.

Mime
View raw message