Hi
> Absolutely (are you offering to write one? :P), but mostly waiting
yes I am :) working on it, will take me some time, still need some
getting used to the whole idea.
> until 0.7's live schema update approaches release before supporting
> dynamic non-normalised indexes/migrations. Pandra doesn't really have
Hmm, from what I read on
http://wiki.apache.org/cassandra/LiveSchemaUpdates
it will just add dynamic modification for storage configuration (just
here probably means wooooooooooooow), so that would be just an extra
feature in the whole model.
> relational model outside of a single row, but it's fairly trivial to
> implement columns as keys into other column paths as a starting point
> if you're looking for a tragedy analogue. Complex relations with
> possibly huge datasets will need a much deeper level of thought if
> pandra is to maintain its flexibility.
One thing that I have problem with is the way iteration is implemented
in PandraColumnContainer. If I get it right it will load the whole row/
SupperColumn into array and deal with it in memory. While this will
work if rows are profile data {username:"joe",address:"blabla",...}
once you hit Indexes (lazyboy project refers to this as Views) it
will start to rain cats and dogs :(
Possible solution is to connect PandraColumnContainer directly to
Cassandra's row (or SupperColumn, I'll stick to row for now). Big
obstacle I see in this line of thinking is:
> How can I iterate over all the rows in a ColumnFamily?
> Simple but slow: Use get_range_slices, start with the empty string, and after each call use the last key read as the start key in the next iteration.
Lazyboy implementation of count:
def __len__(self):
"""Return the number of records in this view."""
return self._get_cas().get_count(
self.key.keyspace, self.key.key, self.key,
self.consistency)
So they are directly getting count from Cassandra. I'm sorry that I'm
using so much Python examples, but it seams that there are more
Cassandra wrappers currently being written in Python than beloved PHP :
(
As for index structure I have one more idea that is little bit of a
hack:
Follow:
dave:{timeUUID1:merlin, timeUUID2:peter},
peter:{timeUUID3:merlin},
merlin:{timeUUID4:dave},
ref_prefx_dave:{timeUUID4:merlin},
ref_prefx_peter:{timeUUID2:dave},
ref_prefx_merlin:{timeUUID1:dave,timeUUID3:peter}
This way all data will reside in same ColumnFamily but revers part
would be distinguished by prefix. Again this allows for data to be
retrieved both by object key and reference key.
utvara