Transactions Scribe
Keith Adams: can transactions apply across tables?
Mike Franklin: Is the temporary merged _tx_ object permanent?
- Diego folds them down
Bob English: what if client crashes between mask of original objects and the
super object is written? (1. and 2. slide 9)
- Tombstones
John: Masks are leased?
- Nope.
Marcos Aguilera: Periodically write heartbeats to t.
Finkelstein: how many messages are involved in doing all of these client side
steps?
Marcos Aguilera: atomic writes, but not serializability
- no isolation
Finkelstein: yes, you do have isolation
- well, only on writes
John: concerned with counts of RPC RTTs for client & 2pc methods
Marcos Aguilera: wondering whether we actually need transactions: do we expect
multiple servers to contend?
will applications commonly be doing write sharing? read sharing
should be common, but writes?
Mike Franklin: Will there be write-write conflicts?
Keith Adams: Would like the feature to handle write-write conflicts.
Confusion of masks being on write side of transactions only.
- they're on both read and write sides, says Diego
Marcos Aguilera: Arguing for transactions - e.g. facebook wall concurrent accesses.
John: Question - NoSQL systems not doing transactions across multiple objects.
So, do we need this feature?
- Armbrust: All NoSQL guys have transaction libs built on top.
- Keith Adams: RAMCloud needs a transaction story, even if it's just
a client lib.
John: Question - Alternative transaction methods (i.e. not mini-transactions)?
- Franklin: Use snapshot approaches - readers don't interfere with
writers.
- Armbrust: Need get by version or get by time operations.
- John: Get by time not safe - clock synch needed.
- Finkelstein:
- "Entity groups"
- Some operations are commutative - so eventual consistency
is possible - should consider having these operations in ramcloud
John: Question - What's least functionality in servers so users can get what
they want with best possible performance?
- Marcos Aguilera: May want optimistic/pessimistic switch - adaptive
method based on contention.
- Finkelstein: Should define reasonable application models.
- Keith Adams: Transactions relatively rare and people use them very
carefully.
Keith Adams: Some people really hate specific instances of eventual consistency
(e.g. "message read/unread" bit not taking effect in email app)
Bob English: On relaxed consistency: Transition between 0 and 1 the big deal.
People don't care about 4 vs. 5 (e.g. do I have any new emails vs
do I have 4 or 5 new emails?)