Skip to content

Commit 2e1c3ac

Browse files
committed
Fix incorrect paper title
1 parent f9b1453 commit 2e1c3ac

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

ydb/docs/en/core/contributor/datashard-distributed-txs.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# DataShard: distributed transactions
22

3-
{{ydb-short-name}} uses distributed transactions, which are based on ideas from Calvin (see [Calvin: A Scalable Distributed Transactions System](https://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf)). These transactions consist of a set of operations performed by a group of participants, such as DataShards. Unlike Calvin these operations are not required to be deterministic. To execute a distributed transaction, a proposer prepares the transaction at each participant, assigns a position (or timestamp) to the transaction in the global transaction execution order using one of the coordinator tablets, and collects the transaction results. Each participant receives and processes a subset of transactions it is involved in, following a specific order. Participants may process their part of the larger transaction at different speeds and not simultaneously. Distributed transactions share the same timestamp across all participating shards, and must include all changes from transactions with preceding timestamps. When viewed as a logical sequence, timestamps act as a single logical timeline, where any distributed transaction happens at the same point in time.
3+
{{ydb-short-name}} uses distributed transactions, which are based on ideas from Calvin (see [Calvin: Fast Distributed Transactions
4+
for Partitioned Database Systems](https://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf)). These transactions consist of a set of operations performed by a group of participants, such as DataShards. Unlike Calvin these operations are not required to be deterministic. To execute a distributed transaction, a proposer prepares the transaction at each participant, assigns a position (or timestamp) to the transaction in the global transaction execution order using one of the coordinator tablets, and collects the transaction results. Each participant receives and processes a subset of transactions it is involved in, following a specific order. Participants may process their part of the larger transaction at different speeds and not simultaneously. Distributed transactions share the same timestamp across all participating shards, and must include all changes from transactions with preceding timestamps. When viewed as a logical sequence, timestamps act as a single logical timeline, where any distributed transaction happens at the same point in time.
45

56
When the execution of a transaction depends on the state of other participants, the participants exchange data using so-called ReadSets. These are persistent messages exchanged between participants that are delivered at least once. The use of ReadSets causes transactions to go through additional phases:
67

0 commit comments

Comments
 (0)