Skip to content

Commit 41a911e

Browse files
committed
Copy-edit updates
1 parent 99299b7 commit 41a911e

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

articles/cosmos-db/cassandra/consistency-mapping.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The Azure Cosmos DB platform provides a set of five well-defined, business use-c
4848
| `TWO` | Local region | `Strong` |
4949
| `THREE` | Local region | `Strong` |
5050

51-
Unlike Apache and DSE Cassandra, Azure Cosmos DB durably commits a quorom write by default. At least three out of four (3/4) nodes commit the write to disk, and NOT just a commit log in memory.
51+
Unlike Apache and DSE Cassandra, Azure Cosmos DB durably commits a quorum write by default. At least three out of four (3/4) nodes commit the write to disk, and NOT just an in-memory commit log.
5252

5353
### `ONE`, `LOCAL_ONE`, or `ANY` write consistency in Apache Cassandra
5454

@@ -78,7 +78,7 @@ Always durably commits a quorum write by default, hence all read consistencies c
7878
| `TWO` | Local region | `Eventual` |
7979
| `THREE` | Local region | `Strong` |
8080

81-
Azure Cosmos DB has no notion of write consitency to only two nodes, hence we treat this the same as quorom for most cases. For read consistency `TWO`, this is equivalent to write with quorum and read from one.
81+
Azure Cosmos DB has no notion of write consistency to only two nodes, hence we treat this consistency similar to quorum for most cases. For read consistency `TWO`, this consistency is equivalent to write with `QUOROM` and read from `ONE`.
8282

8383
### `Serial`, or `Local_Serial` write consistency in Apache Cassandra
8484

@@ -93,13 +93,13 @@ Azure Cosmos DB has no notion of write consitency to only two nodes, hence we tr
9393
| `TWO` | Local region | `Strong` |
9494
| `THREE` | Local region | `Strong` |
9595

96-
Serial only applies to lightweight transactions. Azure Cosmos DB follows a durably commited paxos algorithm by default, and hence `Serial` consistency is similar to quorum.
96+
Serial only applies to lightweight transactions. Azure Cosmos DB follows a [durably committed algorithm](https://www.microsoft.com/research/publication/revisiting-paxos-algorithm/) by default, and hence `Serial` consistency is similar to quorum.
9797

9898
### Other regions for single-region write
9999

100100
Azure Cosmos DB facilitates five consistency settings, including strong, across multiple regions where single-region writes is configured. This facilitation occurs as long as regions are within 2,000 miles of each other.
101101

102-
Azure Cosmos DB does not have an applicable mapping to Apache Cassandra as all nodes/regions are writes and a strong consistencey guarantee is not possible across all regions.
102+
Azure Cosmos DB doesn't have an applicable mapping to Apache Cassandra as all nodes/regions are writes and a strong consistency guarantee isn't possible across all regions.
103103

104104
### Other regions for multi-region write
105105

@@ -146,13 +146,13 @@ Apache Cassandra, the setting of `EACH_QUORUM` or `QUORUM` gives a strong consis
146146

147147
The following graphic illustrates a global strong consistency setting in Apache Cassandra between two regions 1 and 2. After data is written to region 1, the write needs to be persisted in a quorum number of nodes in both region 1, and region 2 before an acknowledgment is received by the application.
148148

149-
:::image type="content" source="./media/consistency-mapping/write-global-consistency-theirs.svg" alt-text="Global consistency in Apache Cassandra":::
149+
:::image type="content" source="./media/consistency-mapping/write-global-consistency-theirs.svg" alt-text="Diagram of global write consistency in Apache Cassandra.":::
150150

151151
## Global strong consistency for write requests in Azure Cosmos DB for Apache Cassandra
152152

153153
In Azure Cosmos DB consistency is set at the account level. With `Strong` consistency in Azure Cosmos DB for Cassandra, data is replicated synchronously to the read regions for the account. The further apart the regions for the Azure Cosmos DB account are, the higher the latency of the consistent write operations.
154154

155-
:::image type="content" source="./media/consistency-mapping/write-global-consistency-ours.svg" alt-text="Global consistency in Azure Cosmos DB for Apache Cassandra":::
155+
:::image type="content" source="./media/consistency-mapping/write-global-consistency-ours.svg" alt-text="Diagram of global write consistency in Azure Cosmos DB for Apache Cassandra.":::
156156

157157
How the number of regions affects your read or write request:
158158

@@ -166,49 +166,49 @@ How the number of regions affects your read or write request:
166166

167167
A consistency level of `ANY`, `ONE`, `TWO`, `THREE`, `LOCAL_QUORUM`, `Serial` or `Local_Serial`? Consider a write request with `LOCAL_QUORUM` with an `RF` of `4` in a six-node datacenter. `Quorum = 4/2 + 1 = 3`.
168168

169-
:::image type="content" source="./media/consistency-mapping/write-not-global-consistency-theirs.svg" alt-text="Non Global consistency for Apache Cassandra":::
169+
:::image type="content" source="./media/consistency-mapping/write-not-global-consistency-theirs.svg" alt-text="Diagram of non-global write consistency in Apache Cassandra.":::
170170

171171
## Weaker consistency for write requests in Azure Cosmos DB for Apache Cassandra
172172

173173
When a write request is sent with any of the consistency levels lower than `Strong`, a success response is returned as soon as the local region persists the write in at least three out of four replicas.
174174

175-
:::image type="content" source="./media/consistency-mapping/write-not-global-consistency-ours.svg" alt-text="Non Global consistency in Azure Cosmos DB for Apache Cassandra":::
175+
:::image type="content" source="./media/consistency-mapping/write-not-global-consistency-ours.svg" alt-text="Diagram of non-global write consistency in Azure Cosmos DB for Apache Cassandra.":::
176176

177177
## Global strong consistency for read requests in Apache Cassandra
178178

179179
With a consistency of `EACH_QUORUM`, a consistent read can be achieved in Apache Cassandra. In, a multi-region setup for `EACH_QUORUM` if the quorum number of nodes isn't met in each region, then the read will be unsuccessful.
180180

181-
:::image type="content" source="./media/consistency-mapping/read-global-consistency-theirs.svg" alt-text="Read Global consistency in Apache Cassandra":::
181+
:::image type="content" source="./media/consistency-mapping/read-global-consistency-theirs.svg" alt-text="Diagram of global read consistency in Apache Cassandra.":::
182182

183183
## Global strong consistency for read requests in Azure Cosmos DB for Apache Cassandra
184184

185185
The read request is served from two replicas in the specified region. Since the write already took care of persisting to a quorum number of regions (and all regions if every region was available), simply reading from two replicas in the specified region provides Strong consistency. This strong consistency requires `EACH_QUORUM` to be specified in the driver when issuing the read against a region for the Cosmos DB account along with Strong Consistency as the default consistency level for the account.
186186

187-
:::image type="content" source="./media/consistency-mapping/read-global-consistency-ours.svg" alt-text="Read Global consistency in Azure Cosmos DB for Apache Cassandra":::
187+
:::image type="content" source="./media/consistency-mapping/read-global-consistency-ours.svg" alt-text="Diagram of global read consistency in Azure Cosmos DB for Apache Cassandra.":::
188188

189189
## Local strong consistency in Apache Cassandra
190190

191191
A read request with a consistency level of `TWO`, `THREE`, or `LOCAL_QUORUM` will give us strong consistency reading from local region. With a consistency level of `LOCAL_QUORUM`, you need a response from two nodes in the specified datacenter for a successful read.
192192

193-
:::image type="content" source="./media/consistency-mapping/read-local-strong-consistency-theirs.svg" alt-text="Read Local strong consistency for Apache Cassandra":::
193+
:::image type="content" source="./media/consistency-mapping/read-local-strong-consistency-theirs.svg" alt-text="Diagram of local strong read consistency in Apache Cassandra.":::
194194

195195
## Local strong consistency in Azure Cosmos DB for Apache Cassandra
196196

197197
In Azure Cosmos DB for Cassandra, having a consistency level of `TWO`, `THREE` or `LOCAL_QUORUM` will give a local strong consistency for a read request. Since the write path guarantees replicating to a minimum of three out of four replicas, a read from two replicas in the specified region will guarantee a quorum read of the data in that region.
198198

199-
:::image type="content" source="./media/consistency-mapping/read-local-strong-consistency-ours.svg" alt-text="Read Local strong consistency in Azure Cosmos DB for Apache Cassandra":::
199+
:::image type="content" source="./media/consistency-mapping/read-local-strong-consistency-ours.svg" alt-text="Diagram of local strong read consistency in Azure Cosmos DB for Apache Cassandra.":::
200200

201201
## Eventual consistency in Apache Cassandra
202202

203203
A consistency level of `LOCAL_ONE`, `One` and `ANY with LOCAL_ONE` will result in eventual consistency. This consistency is used in cases where the focus is on latency.
204204

205-
:::image type="content" source="./media/consistency-mapping/read-eventual-consistency-theirs.svg" alt-text="Read eventual consistency for Apache Cassandra":::
205+
:::image type="content" source="./media/consistency-mapping/read-eventual-consistency-theirs.svg" alt-text="Diagram of eventual read consistency in Apache Cassandra.":::
206206

207207
## Eventual consistency in Azure Cosmos DB for Apache Cassandra?
208208

209209
A consistency level of `LOCAL_ONE`, `ONE` or `Any` will give you eventual consistency. With eventual consistency, a read is served from just one of the replicas in the specified region.
210210

211-
:::image type="content" source="./media/consistency-mapping/read-eventual-consistency-ours.svg" alt-text="Read eventual consistency in Azure Cosmos DB for Apache Cassandra":::
211+
:::image type="content" source="./media/consistency-mapping/read-eventual-consistency-ours.svg" alt-text="Diagram of eventual read consistency in Azure Cosmos DB for Apache Cassandra.":::
212212

213213
## Override consistency level for read operations in Azure Cosmos DB for Cassandra
214214

0 commit comments

Comments
 (0)