[ https://issues.apache.org/jira/browse/CASSANDRA-13645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16070608#comment-16070608 ]
Jason Brown commented on CASSANDRA-13645: ----------------------------------------- To be clear, though, a user will have to know that they must use different CLs in order to gain the optimization as proposed by this ticket. Meaning, you write at {{CL.QUORUM}} and read at {{CL.HALF}}; you can't write and read at {{CL.HALF}} and get strong consistency properties. As much as I don't want to open another can of worms, but do we need a corresponding {{CL.LOCAL_HALF}}, as well? > Optimize the number of replicas required in Quorum read/write > ------------------------------------------------------------- > > Key: CASSANDRA-13645 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13645 > Project: Cassandra > Issue Type: Improvement > Components: Coordination > Reporter: Dikang Gu > Assignee: Pengchao Wang > Fix For: 4.x > > > Currently, for C* read/write requests with quorum consistent level, number of > replicas required for quorum write is W=N/2+1, and number of replicas > required for quorum read is R=N/2+1 as well. > It works fine in odd number of replicas case, which R + W = N + 1, but in > even number of replicas case, like RF=4, 6, 8, the R+W = N + 2, which means > we are having two overlapping nodes in read/write requests, which is not > necessary. It can not provide strong consistency, but will hurts P99 read > latency a lot (2X in our production cluster). > In a lot of other database, like Amazon Aurora, they use W = N/2 + 1 and R = > N/2 for quorum requests, which will provide enough strong consistency, but > talk to one less replica in read path. "We use a quorum model with 6 votes (V > = 6), a write quorum of 4/6 (Vw = 4), and a read quorum of 3/6 (Vr = 3)." > I propose we do the same optimization, change read quorum to talk to N/2 > replicas, which should reduce the read latency for quorum read in general. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org