The TiKV blog

This Month in TiKV - January 2020

TiKV Authors

February 19, 2020


Welcome to the first monthly wrap-up of 2020. In January, we had regular releases, some great articles, some great PRs and issues, and of course, new members of the community. Let's take a look! Releases This month our team made 2 TiKV releases: The 3.0.9 release includes the configuration change to speed up the Region scattering, some optimized configuration items, and a fixed issue for Region Merge. The 4.0.0-beta release includes major updates such as quick backup and restoration support, RocksDB version upgrade, and also bugs fixes.

The Rust Compilation Calamity

Brian Anderson

January 31, 2020


The Rust programming language was designed for slow compilation times. I mean, that wasn't the goal. As is often cautioned in debates among their designers, programming language design is full of tradeoffs. One of those fundamental tradeoffs is run-time performance vs. compile-time performance, and the Rust team nearly always (if not always) chose run-time over compile-time. So Rust compile times are bad. This is kinda infuriating, as almost everything that matters about Rust is pretty damn good.

This Month in TiKV - December 2019

Ana Hobden

January 18, 2020


Happy new year and happy new decade! How did our contributors wrap up the decade? Let's take a look, and then take a peek at what's coming this year! Releases This month our team made 4 TiKV releases - 3.0.x and 2.1.x releases are minor releases, and 3.1.0-beta is our upcoming next major release before 4.0. You can review the changelogs here: 3.0.7 3.0.8 2.1.19 3.1.0-beta Upgrading? Here's things you should know:

This Month in TiKV - November 2019

Ana Hobden

December 11, 2019


As winter descends on the northern hemisphere, we encourage you to keep warm by compiling TiKV! In November we had new minor releases, a new crate release, and some community updates! Let's take a look! Releases This month our team made 2 minor TiKV releases! You can review the changelogs here: 2.1.18 3.0.6 Upgrading? Things to note: In 3.0.6, #5697 introduced the ability to generate flamegraphs of TiKV at runtime!

How TiKV reads and writes

Tang Liu

December 6, 2019


This article introduces in detail how TiKV handles read and write operations. Together we will explore how TiKV, as a distributed key-value (KV) database, stores the data contained in a write request and how it retrieves the corresponding data with consistency guaranteed. Before you read it Before we begin, we need to introduce some essential concepts of TiKV to help you fully understand the process. If you are already familiar with these, you can skip to the next section.

TiKV celebrates 200 contributors!

Tang Liu

November 22, 2019


Dear TiKV contributors: As you might’ve noticed, the TiKV project has recently hit its 200th contributor in its core repository. This marks a very important milestone in our community growth. As the lead of the TiKV team at PingCAP and the senior Maintainer of the TiKV project, I would like to thank you all for helping us achieve this milestone. TiKV was originally created by PingCAP to complement TiDB in Jan, 2016 and open sourced in April, 2016.

This Month in TiKV - October 2019

Ana Hobden

November 20, 2019


It's time for a very non-spooky October edition of This month in TiKV! We have a few treats for you while we've been teaching TiKV some new tricks. News This month our team made one TiKV minor release (v3.0.5)! This release includes bug fixes and minor, backwards compatible features. You can review the changelogs here: 3.0.5 Upgrading? This release includes only bugfixes! Reading materials PingCAP wrote “INSERT INTO tidb.hackathon_2019 VALUES (“Hack”, “Fun”, “TiDB Ecosystem”)" talking about the recent Hackathon they held in China!

This Month in TiKV - September 2019

Ana Hobden

October 18, 2019


Wonderful day! Welcome to the third edition of ‘This Month in TiKV’, covering September 2019. News This month our team made one TiKV minor release (v3.0.4)! This release includes bug fixes and minor, backwards compatible features. You can review the changelogs here: 3.0.4 Upgrading? Please take note of these things: There is a new batch split region command. There is a new grpc-memory-pool-quota configuration option. Reading materials Here are some articles our contributors have published over the last month:

This Month in TiKV - August 2019

Ana Hobden

September 18, 2019


Happy day! Welcome to the second edition of ‘This Month in TiKV’, covering August 2019. (Yes we know it's later than the first week of September, sorry!) The TiKV authors have been busy working on improving stability, fixing bugs, and laying out the foundations of TiKV 4.0. That is a lot to cover, so let's get started! News This month our team made four TiKV minor releases! These minor releases include bug fixes and minor, backwards compatible features.

Migrating the TiKV Rust client from futures 0.1 to 0.3

Nick Cameron

August 7, 2019


I recently migrated a small/medium-sized crate from Futures 0.1 to 0.3. It was fairly easy, but there were some tricky bits and some things that were not well documented, so I think it is worth me writing up my experience. The crate I migrated is the Rust client for the TiKV database. It is about 5500 LoC and uses futures fairly heavily (because it communicates with TiKV using gRPC and the interface to that is async).

This Month in TiKV - July 2019

Nick Cameron

August 7, 2019


Hi! Welcome to the first ever edition of ‘This Month in TiKV’, covering July 2019. As the name suggests, this is a monthly newsletter covering interesting things happening in the world of TiKV, an open-source, distributed key-value store. We're just getting started with the newsletter, and you should expect it to evolve as we go along. We hope to cover news and events of interest to TiKV contributors and users, significant PRs and issues in the TiKV repo, and generally keep you informed of what is going on.

TiKV 3.0 GA Release

July 17, 2019


Today we're proud to announce the general availability of TiKV 3.0! Whether spanning hundreds of nodes or storing over a trillion key-value pairs, we've seen our users put TiKV to the test in serious, real-world, production scenarios. In 3.0, we've applied the lessons learned from these deployments to bring a host of new features that can better support users’ growing demands. Before release, TiKV 3.0 additionally underwent an official Jepsen test with TiDB.

Distributed Systems Training in Rust and Go

Brian Anderson, Senior Database Engineer for TiKV

June 20, 2019


On the TiKV team we love the Rust and Go programming languages. They are the languages in which we write most of our software, with TiKV in Rust, and its sister project, TiDB, in Go. They have empowered us to build these fast and reliable distributed systems from the ground up, and iterate on them quickly and confidently. These languages are the future of systems programming. Creating reliable distributed systems like TiKV demands a lot from contributors — they not only need to be experts in storage and distributed systems, but also to be comfortable expressing that knowledge in these modern languages.

CNCF TOC votes to move TiKV to Incubating Status

The TiKV Team

May 21, 2019


Today, the Cloud Native Computing Foundation’s (CNCF) Technical Oversight Committee (TOC) voted to accept TiKV as an incubation-level hosted project. The full announcement can be found on the CNCF blog, and you can find us listed under the CNCF Incubating Projects. We'd like to thank all of our contributors, users, and advocates over the last several years for helping us reach this very important milestone! Thank you! As a CNCF incubating project we'll continue to enjoy many of the benefits and services the foundation offers, as well as greater worldwide visibility.

TiKV Community Connections

Ana Hobden, TiKV Ecosystem Lead

April 3, 2019



TiKV 2.1: More Raft, Less Hotspots

Siddon Tang, Chief Engineer at PingCAP and TiKV Project Lead

December 4, 2018