TiKV 4.0 GA Release

The TiKV Authors

June 18, 2020


We are excited to announce the general availability of TiKV 4.0! We’re so glad and proud to have seen more than 1000 adopters use TiKV in production scenarios across multiple industries worldwide. Thanks to all users who have given us feedback, bug reports, and pull requests contributions over the past year. We’ve applied the lessons learned from these deployments to bring new features and better security to support users’ growing needs.

New Features

For the 4.0 release, our team has kept polishing TiKV’s stability and creating new features. We’d like to highlight the following features which have brought TiKV better performance and functionality.

  • Follower read

With follower read, TiKV uses a series of load balancing mechanisms to offload read requests from the Raft leader to its followers. It ensures the linearizability of single-row data reads, helps reduce the load on the region leader, and substantially enhances the throughput of the entire system.

  • Titan

Titan is a RocksDB plugin for key-value separation. Compatible with all RocksDB features used by TiKV, it reduces write amplification by separating large values from the log-structured merge tree (LSM tree) and storing them independently. It improves range query performance and reduces its impact on write performance. Titan has previously been available as en experimental feature, and has reached general availability in TiKV 4.0.

  • Unified thread pool

TiKV’s unified thread pool is a unified adaptive thread pool for processing read requests. It unifies the point-get read pool and the coprocessor read pool to give priority to small requests, which improves resource utilization and limits the impact of large queries on small requests.

  • Load-based splitting

Load-based splitting enables a region to be automatically split into several small regions when it is a read hotspot. After splitting, the new regions are evenly distributed to different TiKV nodes. Load-based splitting solves the hot spots caused by an uneven distribution of regions, such as full table scan and index query of small tables.

Security

To ensure TiKV is protected from internal and external threats, our team has been working hard on data protection. TiKV completed a third-party security assessment in March. This assessment of the TiKV scope, commissioned by CNCF and executed by Cure53, concluded with generally positive results. We have also improved data security for TiKV clusters deployed in cloud environments by implementing:

  • Encryption at rest

TiKV 4.0 supports encryption at rest to ensure data reliability and security. Encryption at rest prevents unauthorized access to the unencrypted data by ensuring the data is encrypted when on disk to provide data protection for stored data.

  • TLS in the HTTP (status) port

TiKV 4.0 supports TLS in the HTTP (status) port and dynamically updates the certificate online, making it safer to fetch TiKV’s internal status through the HTTP port.

What’s next

Going GA means that TiKV 4.0 is ready for use in production environments. There is still much more to come for us. We’re planning future versions of TiKV, and we’d love to hear feature requests from the community. Currently, the best way to make feature requests is to open an issue on GitHub. The TiKV team will surely take that information to heart as we drive the project forward.

Collaborate with the TiKV Community

Most importantly, we’d like to thank our contributors who helped with this release. Whether you were a returning contributor or one of the many new folks we welcomed, thank you!

Not a contributor yet? We’d love to help you get started! If you’d like to get involved with the development and help drive forward the future of TiKV, you might be interested in tackling one of these issues. If you don’t know how to begin, just leave a comment and our team will help you out.

Also, don’t miss the chance to talk to us! You could reach us by: