On March 9, 2018, TiDB released version 2.0 RC1. This version has many improvements to MySQL compatibility, system stability, and optimizer over the previous version.

TiDB

  • Support to limit the size of memory used by a single SQL statement, reduce the program OOM risk

  • Support push-down flow aggregation operator to TiKV

  • Check the validity of configuration files

  • Support HTTP API to obtain TiDB parameter information

  • Parser is compatible with more MySQL syntax

  • Improved compatibility with Navicat

  • The optimizer is promoted to extract common expressions of multiple OR conditions and select a better execution plan

  • The optimizer is improved to convert subqueries into Join operators in more scenarios and select better query plans

  • Batch Resolve Lock is used to improve the garbage collection speed

  • Fixed Boolean field length to improve compatibility

  • Optimized the Add Index operation, and adopted a lower priority for all read and write operations to reduce the impact on online services

PD

  • Optimized the code logic for checking Region status to improve program performance

  • Optimized log output in abnormal cases for debugging

  • Fixed the statistics about insufficient disk space of TiKV node in monitoring

  • Fix a health check connection error when TLS is enabled

  • Fixed a problem where the number of copies added at the same time may exceed the configuration threshold, improving application stability

TiKV

  • Fixed PD Leader switch, gRPC call not cancelled

  • Important configurations are protected and cannot be changed after the first setting

  • Added gRPC API for getting metrics

  • At startup, check whether SSD is used

  • ReadPool was used to optimize read performance, and raw GET test performance was improved by 30%

  • Refine metrics, optimize the use of metrics

Source code address: github.com/pingcap/tid…

Today, TiDB 2.0 RC1 has been released thanks to the efforts of the community and the PingCAP technology team.

As a world-class open source distributed relational database, TiDB is inspired by Google Spanner/F1 and has core features such as “distributed strong consistent transactions, online elastic horizontal scaling, high availability for fault recovery, and multi-activity across data centers”. TiDB was launched on GitHub in May 2015, followed by Alpha in December 2015, Beta in June 2016, RC1 in December, RC2 in March 2017, and RC3 in June. RC4 was released in August, TiDB 1.0 was released in October and 1.1 Beta was released in February 2018.