[ https://issues.apache.org/jira/browse/CASSANDRA-13645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16067559#comment-16067559 ]
Justin Cameron edited comment on CASSANDRA-13645 at 6/29/17 1:29 AM: --------------------------------------------------------------------- Would a CL.HALF be sufficient to meet the requirements here (rather than CL.INTEGER)? RF3 - CL.HALF (rounding up) write + CL.QUORUM read > 3 RF4 - CL.HALF write + CL.QUORUM read > 4 RF5 - CL.HALF (rounding up) write + CL.QUORUM read > 5 RF6 - CL.HALF + CL.QUORUM read > 6 ...etc Might be a little more opaque due to rounding for odd RFs, but it would probably be simpler to implement than a CL.INTEGER was (Author: jcameron): Would a CL.HALF be sufficient to meet the requirements here (rather than CL.INTEGER)? RF3 - CL.HALF (rounding up) write + CL.QUORUM read > 3 RF4 - CL.HALF write + CL.QUORUM read > 4 RF5 - CL.HALF (rounding up) write + CL.QUORUM read > 5 RF6 - CL.HALF + CL.QUORUM read > 6 ...etc Might be a little less opaque due to rounding for odd RFs, but it would probably be simpler to implement than a CL.INTEGER > 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: Dikang Gu > 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