On Tue, May 31, 2011 at 5:03 PM, Dan Kuebrich <dan.kuebr...@gmail.com>wrote:
> > > On Tue, May 31, 2011 at 4:57 PM, Victor Kabdebon < > victor.kabde...@gmail.com> wrote: > >> As Jonathan stated I believe that the insert is in O(N + M), unless there >> are some operations that I don't know. >> >> There are other NoSQL database that can be used with Cassandra as >> "buffers" for quick access and modification and then after the content can >> be dumped into Cassandra for long term storage. Here is an example with >> Redis : >> >> http://redis.io/commands/append >> The "append" command is said to be in O(1) but it is a little bit >> suspicious to me... >> >> Best regards, >> Victor Kabdebon >> http://www.voxnucleus.fr >> > > I think perhaps OP meant O(N * M), where N is number of rows and M is total > bytes. > > Either way, won't cassandra be effectively buffering appends in memtable > (well, also appending to commit log) until flush occurs to sstable? > I never learned log 0 notation. However since a write is "fast" and cassandra "reads" are slow considering them equal for a computational analysis is heading down the wrong path. Cassandra "appends" are normally done by using a new TimeUUID as the column name and supplying the value in the value. The read half of the process reads with a column slice rather then reading a single column and joins the data client side. What you are doing is append by inserting N columns, then reconcile on the read side.