so this means that in memtable only the most recent version of a column will reside!? For this implementation, while writing "to memtable" Cassandra will see if there are other versions and will overwrite them (reconcilation while writing) !?
I know that different SST tables may have different versions of the same column.(and for them reconcilation will happen at reads) Thanks Narendra! On 3/9/11, Narendra Sharma <narendra.sha...@gmail.com> wrote: > Multiple write for same key and column will result in overwriting of column > in a memtable. Basically multiple updates for same (key, column) are > reconciled based on the column's timestamp. This happens per memtable. So if > a memtable is flushed to an sstable, this rule will be valid for the next > memtable. > Note that sstables are immutable. So, different sstables may have different > versions of same (key, column), and the reconciliation of that happens > during read (read repair). This is why reads are slower than writes because > conflict resolution happens during read. > > Hope this answers the question! > > Thanks, > -Naren > > On Tue, Mar 8, 2011 at 10:44 PM, Aditya Narayan <ady...@gmail.com> wrote: > >> Do the overwrites of newly written columns(that are present in >> memtable) *replace the old column* or is it just a simple append. >> >> I am trying to understand that if I update these column very very >> frequently(while they are in memtable), does the read performance of >> these columns gets affected, since Cassandra will have to read so many >> versions of the same column. If this is just replacement with old >> column then I guess read will be much better since it needs to see >> just single existing version of column. >> >> Thanks >> Aditya Narayan >> >