[
https://issues.apache.org/jira/browse/CASSANDRA-7056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048119#comment-14048119
]
Peter Bailis commented on CASSANDRA-7056:
-----------------------------------------
bq. I doubt this will be dramatically more complex, but the approach to
implementation is fundamentally different. It seems to me supporting
transactions of arbitrary size is an equally powerful win to consistent
transactions.
I agree "streaming" batches could be really useful. In effect, you're turning
an operation you'd have to perform client-side (e.g., you can simulate
"streaming" by simply buffering your write sets and then calling one big BATCH)
into a server-assisted one (where your proposed read-buffer/memtable stores the
pending inserts while you're still deciding what goes into the transaction).
From the RAMP perspective, this doesn't change things substantially -- you just
have to make sure to propagate the appropriate txn metadata after you've
determined what writes made it into the batch.
[~benedict]: towards your point on non-QUORUM but QUORUM reads, I agree there
are some cool tricks to play. There's some additional complexity in these
optimizations, but, the basic observation is a good one: if I already have a
transaction ID I want to read from and the metadata associated with it, all I
have to do is find the matching versions which don't necessarily require QUORUM
reads for "consistency" w.r.t. the ID.
> Add RAMP transactions
> ---------------------
>
> Key: CASSANDRA-7056
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7056
> Project: Cassandra
> Issue Type: Wish
> Components: Core
> Reporter: Tupshin Harper
> Priority: Minor
>
> We should take a look at
> [RAMP|http://www.bailis.org/blog/scalable-atomic-visibility-with-ramp-transactions/]
> transactions, and figure out if they can be used to provide more efficient
> LWT (or LWT-like) operations.
--
This message was sent by Atlassian JIRA
(v6.2#6252)