I've been working on the distributed transaction system in TiKV for about a year now. TiKV is an open-source, distributed and transactional key-value store written in Rust. Recently, I've been helping create a distributed transactions 'special interest group' within the TiKV community.
Below is a copy of the announcement blog post. I'm really excited to try and create an active community to discuss and better understand transactions, and to share some of the awesome work we've been doing in TiKV.
Announcing the Transaction SIG
TiKV has been open source since almost its beginning. Over the past year or so we've been trying to build a better, more open community around TiKV. Recently, we've been forming special interest groups (SIGs) to better organize and govern our community. Today, we are pleased to announce the official launch of the Transaction SIG.
Transactions have been part of database systems for decades. In distributed databases they are the key mechanism for supporting properties such as isolation and consistency (well known from the ACID property and the CAP theorem), in other words, making it possible to manage a distributed database in a similar way to a non-distributed one.
TiKV supports distributed transactions based on Percolator, and implemented using MVCC and a collaborative protocol between the TiKV server and its client. Using the transactional API, TiKV guarantees Snapshot Isolation and Linearizability. The transaction sub-system also handles the scheduling of command execution, local concurrency control, and efficient execution of reads and scans.
A strong transaction system is essential to making TiKV fast and correct.
The Transaction SIG
The Transaction SIG is a group for people interested in transactions in TiKV or distributed transactions in general. In addition to working on the implementation in TiKV (including testing, modelling, documenting, and bug-finding, as well as writing code), the SIG aims to be a place for people to discuss how to use transactions, understand how transactions work and how to make the best use of them, and keep up to date with transaction-related research.
We plan to start with a focussed push to improve documentation, discussing the Cockroach DB paper in our reading group, and an introductory-level talk on isolation and consistency properties (planned for some time in early August, join the mailing list or watch the repo to find out more).
This conversation was marked as resolved by nrc
If this sounds interesting, come and get involved! We hang out on the TiKV community Slack in the #sig-transaction channel. We have a low-volume mailing list you can join for announcements on what we're up to. We have a repository for more information about the group, and where we do design work, etc.