Can you provide some more info: - how big are the rows, e.g. number of columns and column size ? - how much data are you asking for ? - what sort of read query are you using ? - what sort of numbers are you seeing ? - are you deleting columns or using TTL ?
I would consider issues with the data churn, data model and query before looking at serialisation. Cheers ----------------- Aaron Morton Freelance Cassandra Developer @aaronmorton http://www.thelastpickle.com On 29 Jun 2011, at 10:37, Yang wrote: > I can see that as my user history grows, the reads time proportionally ( or > faster than linear) grows. > if my business requirements ask me to keep a month's history for each user, > it could become too slow.----- I was suspecting that it's actually the > serializing and deserializing that's taking time (I can definitely it's cpu > bound) > > > > On Tue, Jun 28, 2011 at 3:04 PM, aaron morton <aa...@thelastpickle.com> wrote: > There is no facility to do custom reconciliation for a column. An append > style operation would run into many of the same problems as the Counter type, > e.g. not every node may get an append and there is a chance for lost appends > unless you go to all the trouble Counter's do. > > I would go with using a row for the user and columns for each item. Then you > can have fast no look writes. > > What problems are you seeing with the reads ? > > Cheers > > > ----------------- > Aaron Morton > Freelance Cassandra Developer > @aaronmorton > http://www.thelastpickle.com > > On 29 Jun 2011, at 04:20, Yang wrote: > > > for example, if I have an application that needs to read off a user > > browsing history, and I model the user ID as the key, > > and the history data within the row. with current approach, I could model > > each visit as a column, > > the possible issue is that *possibly* (I'm still doing a lot of profiling > > on this to verify) that a lot of time is spent on serialization into the > > message and out of the > > message, plus I do not need the full features provided by the column : for > > example I do not need a timestamp on each visit, etc, > > so it might be faster to put the entire history in a blob, and each visit > > only takes up a few bytes in the blob, and > > my code manipulates the blob. > > > > problem is, I still need to avoid the read-before-write, so I send only the > > latest visit, and let cassandra do the reconcile, which appends the > > visit to the blob, so this needs custom reconcile behavior. > > > > is there a way to incorporate such custom reconcile under current code > > framework? (I see custom sorting, but no custom reconcile) > > > > thanks > > yang > >