AnsweredAssumed Answered

Are M7 MapR Table  rows mutable?

Question asked by oldsql on Apr 3, 2014
Latest reply on Apr 10, 2014 by srivas
Understanding that in HBase data are immutable, I am wondering if MapR Table does mutable rows. For example, after getting the value associated with a rowkey and column qualifier, the client change the value or append to it, and then put the (rowkey, column, value) back into MapR Table. Does it cause a new record written into the region, or does it overwrite the value in the file.

**Update 1** (To address Ted's concern):


Assume the table contains a row (r, c, v0). Then the client makes a put to update the value, put(r, c, v1). What Apache HBase does is to store it in buffer, then flush it out to disk but in a different HFile than the row (r, c, v0). The two rows will be moved into one HFile when compaction happens. Both row exists but are marked different versions.

For the MapR Table, when the client makes put(r, c, v1), does this still result in two versions (r, c, v0, ts0) and (r, c, v1, ts1)?

Another question is that, in case I want to update the value  (not interested in keeping multiple version),  do I need to do a delete(r, c) then do a put(r, c, v1)? Is there more efficient way that reduces RPC and disk operations?

Outcomes