We did have a Clock construct for awhile, but it never made it into a released version (afaik). We though about using them for counters.
Timestamps are endemic to the data model and therefore can never be pruned. Cassandra basically trades memory for availability here. -ryan On Wed, Aug 24, 2011 at 10:54 AM, Jeremy Hanna <jeremy.hanna1...@gmail.com> wrote: > At the point that book was written (about a year ago it was finalized), > vector clocks were planned. In August or September of last year, they were > removed. 0.7 was released in January. The ticket for vector clocks is here > and you can see the reasoning for not using them at the bottom. > https://issues.apache.org/jira/browse/CASSANDRA-580 > > On Aug 24, 2011, at 12:41 PM, Kevin Burton wrote: > >> This is really interesting… I can track it down but there are a number of >> references to Cassandra HAVING vector clocks … which would make sense that I >> can't find out how much memory they are using :-P >> >> "Cassandra: The Definitive Guide" … which I was reading the other night says >> that they were introduced in 0.7 but that they're still figuring out what to >> do with them: >> >> http://books.google.com/books?id=MKGSbCbEdg0C&pg=PA50&lpg=PA50&dq=Cassandra's+clock+was+introduced+in+version+0.7,+but+its+fate+is+uncertain&source=bl&ots=XoQz3tFa1C&sig=Lhdu5j1xRcTPmP4-YQONhxzfRTU&hl=en&ei=MzdVTurWEJTSiAKU5vXoDA&sa=X&oi=book_result&ct=result&resnum=1&ved=0CBkQ6AEwAA#v=onepage&q&f=false >> >> … so… are 'timestamps' pruned? >> >> Even this mechanism seems like it will dominate the amount of memory used in >> Cassandra. I could see many installs requiring 2-3x more memory to run >> Cassandra unless there is a pruning mechanism or some way to minimize their >> use. >> >> Kevin >> >> >> On Wed, Aug 24, 2011 at 9:05 AM, Ryan King <r...@twitter.com> wrote: >> On Tue, Aug 23, 2011 at 7:58 PM, Kevin Burton <bur...@spinn3r.com> wrote: >> I had a thread going the other day about vector clock memory usage and that >> it is a series of (clock id, clock):ts and the ability to prune old entries >> … I'm specifically curious here how often old entries are pruned. >> >> If you're storing small columns within cassandra. Say just an integer. The >> vector clock overhead could easily use up far more data than is actually in >> your database. >> >> However, if they are pruned, then this shouldn't really be a problem. >> >> How much memory is this wasting? >> >> I think there is some confusion here– cassandra doesn't use vector clocks. >> >> -ryan >> >> Thoughts? >> >> >> Jonathan Ellis jbel...@gmail.com to user >> show details Aug 19 (4 days ago) >> The problem with naive last write wins is that writes don't always >> arrive at each replica in the same order. So no, that's a >> non-starter. >> >> Vector clocks are a series of (client id, clock) entries, and usually >> a timestamp so you can prune old entries. Obviously implementations >> can vary, but to pick a specific example, Voldemort [1] uses 2 bytes >> per client id, a variable number (at least one) of bytes for the >> clock, and 8 bytes for the timestamp. >> >> [1] >> https://github.com/voldemort/voldemort/blob/master/src/java/voldemort/versioning/VectorClock.java >> >> >> -- >> Founder/CEO Spinn3r.com >> >> Location: San Francisco, CA >> Skype: burtonator >> Skype-in: (415) 871-0687 >> >> >> >> >> >> -- >> Founder/CEO Spinn3r.com >> >> Location: San Francisco, CA >> Skype: burtonator >> Skype-in: (415) 871-0687 >> > >