Ariel Weisberg created CASSANDRA-14404:
------------------------------------------
Summary: Transient Replication & Cheap Quorums: Decouple storage
requirements from consensus group size using incremental repair
Key: CASSANDRA-14404
URL: https://issues.apache.org/jira/browse/CASSANDRA-14404
Project: Cassandra
Issue Type: New Feature
Components: Coordination, Core, CQL, Distributed Metadata, Hints,
Local Write-Read Paths, Materialized Views, Repair, Secondary Indexes, Testing,
Tools
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
Fix For: 4.0
Transient Replication is an implementation of [Witness
Replicas|http://www2.cs.uh.edu/~paris/MYPAPERS/Icdcs86.pdf
(https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi834a%E2%80%948HaAhWCneAKHdj8DzAQFggpMAA&url=http%3A%2F%2Fwww2.cs.uh.edu%2F~paris%2FMYPAPERS%2FIcdcs86.pdf&usg=AOvVaw0GfCaaAtdzHiM65du1-qeI)]
that leverages incremental repair to make full replicas consistent with
transient replicas that don't store the entire data set. Witness replicas are
used in real world systems such as Megastore and Spanner to increase
availability inexpensively without having to commit to more full copies of the
database. Transient replicas implement functionality similar to upgradable and
temporary replicas from the paper.
With transient replication the replication factor is increased beyond the
desired level of data redundancy by adding replicas that only store data when
sufficient full replicas are unavailable to store the data. These replicas are
called transient replicas. When incremental repair runs transient replicas
stream any data they have received to full replicas and once the data is fully
replicated it is dropped at the transient replicas.
Cheap quorums are a further set of optimizations on the write path to avoid
writing to transient replicas unless sufficient full replicas are available as
well as optimizations on the read path to prefer reading from transient
replicas. When writing at quorum to a table configured to use transient
replication the quorum will always prefer available full replicas over
transient replicas so that transient replicas don't have to process writes.
Rapid write protection (similar to rapid read protection) reduces tail latency
when full replicas are temporarily late to respond by sending writes to
additional replicas if necessary.
Transient replicas can generally service reads faster because they don't have
do anything beyond bloom filter checks if they have no data. With vnodes and
larger size clusters they will not have a large quantity of data even in
failure cases where transient replicas start to serve a steady amount of write
traffic for some of their transiently replicated ranges.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]