Jump to content

TiDB

From Wikipedia, the free encyclopedia

TiDB
DeveloperPingCAP Inc.
ReleaseOctober 16, 2017; 8 years ago (2017-10-16)[1]
Stable release
8.5.8[2] Edit this on Wikidata / 27 August 2026; 27 days ago (27 August 2026)
Written inGo (TiDB), Rust (TiKV)
Available inEnglish, Chinese
TypeNewSQL, relational database, Distributed SQL
LicenseApache 2.0
Websitepingcap.com/products/tidb/ Edit this on Wikidata
Repository

TiDB (/ˈtdb/; "Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads.[3] Designed to be MySQL compatible, it is developed and supported primarily by PingCAP and licensed under Apache 2.0. It is also available as a paid product. TiDB drew its initial design inspiration from Google's Spanner and F1 papers.[4][5][6]

Main features

[edit]

Horizontal scalability

[edit]

TiDB can expand both SQL processing and storage capacity by adding new nodes.

MySQL compatibility

[edit]

TiDB acts like it is a MySQL 8.0 server to applications. A user can continue to use all of the existing MySQL client libraries.[7] Because TiDB's SQL processing layer is built from scratch, it is not a MySQL fork.[8]

Distributed transactions with strong consistency

[edit]

TiDB internally shards a table into small range-based chunks that are referred to as "Regions".[9] Each Region defaults to approximately 256 MB in size, and TiDB uses a two-phase commit internally to ensure that regions are maintained in a transactionally consistent way.

Cloud native

[edit]

TiDB is designed to work in the cloud. The storage layer of TiDB, called TiKV, became a Cloud Native Computing Foundation (CNCF) member project in August 2018, as a Sandbox level project,[10] and became an incubation-level hosted project in May 2019.[11] TiKV graduated from CNCF in September 2020.[12]

Real-time HTAP

[edit]

TiDB can support both online transaction processing (OLTP) and online analytical processing (OLAP) workloads. TiDB has two storage engines: TiKV, a rowstore, and TiFlash, a columnstore.

High availability

[edit]

TiDB uses the Raft consensus algorithm[13] to ensure that data is available and replicated throughout storage in Raft groups. In the event of failure, a Raft group will automatically elect a new leader for the failed member, and self-heal the TiDB cluster.

[edit]

TiDB has a vector data type and vector indexes.[14] This allows TiDB to be used as Vector database in AI Retrieval-augmented generation applications.

Release history

[edit]
Release history[15]
Release Release date[16] LTS[17] End of life[18]
Unsupported: 1.0 2017-10-16 NA Unknown
Unsupported: 2.0 2018-04-27 NA Unknown
Unsupported: 2.1 2018-11-30 NA Unknown
Unsupported: 3.0 2019-06-28 NA 2023-09-25
Unsupported: 3.1 2020-04-16 NA Unknown
Unsupported: 4.0 2020-05-28 NA 2024-04-02
Unsupported: 5.0 2021-04-07 NA 2024-04-07
Unsupported: 5.1 2021-06-24 NA 2024-06-24
Unsupported: 5.2 2021-08-27 NA 2024-08-27
Unsupported: 5.3 2021-11-30 NA 2024-11-30
Unsupported: 5.4 2022-02-15 NA 2026-02-15
Unsupported: 6.0 2022-04-07 No 2022-06-13
Unsupported: 6.1 2022-06-13 Yes 2026-06-13
Unsupported: 6.2 2022-08-23 No 2022-09-30
Unsupported: 6.3 2022-09-30 No 2022-11-17
Unsupported: 6.4 2022-11-17 No 2022-12-29
Supported: 6.5 2022-12-29 Yes 2026-12-29
Unsupported: 6.6 2023-02-20 No 2023-03-30
Unsupported: 7.0 2023-03-30 No 2023-05-31
Supported: 7.1 2023-05-31 Yes 2027-05-31
Unsupported: 7.2 2023-06-29 No 2023-08-14
Unsupported: 7.3 2023-08-14 No 2023-10-12
Unsupported: 7.4 2023-10-12 No 2023-12-01
Supported: 7.5 2023-12-01 Yes 2027-12-01
Unsupported: 7.6 2024-01-25 No 2024-03-29
Unsupported: 8.0 2024-03-29 No 2024-05-24
Supported: 8.1 2024-05-24 Yes 2028-05-24
Unsupported: 8.2 2024-07-11 No 2024-08-22
Unsupported: 8.3 2024-08-22 No 2024-11-11
Unsupported: 8.4 2024-11-11 No 2024-12-19
Latest version: 8.5 2024-12-19 Yes 2030-12-19 for Enterprise Edition, 2028-12-19 for Community Edition

Deployment methods

[edit]

Kubernetes with Operator

[edit]

TiDB can be deployed in a Kubernetes-enabled cloud environment by using TiDB Operator.[19] An Operator is a method of packaging, deploying, and managing a Kubernetes application. It is designed for running stateful workloads and was first introduced by CoreOS in 2016.[20] TiDB Operator[21] was originally developed by PingCAP and open-sourced in August, 2018.[22] TiDB Operator can be used to deploy TiDB on a laptop,[23] Google Cloud Platform’s Google Kubernetes Engine,[24] and Amazon Web Services’ Elastic Container Service for Kubernetes.[25]

TiUP

[edit]

TiDB 4.0 introduces TiUP, a cluster operation and maintenance tool. It helps users quickly install and configure a TiDB cluster with a few commands.[26]

TiDB Cloud

[edit]

TiDB Cloud[27] is a relational database offered as a service provided by PingCAP.

Tools

[edit]

TiDB has a series of open-source tools built around it to help with data replication and migration for existing MySQL and MariaDB users.

TiDB Data Migration (DM)

[edit]

TiDB Data Migration (DM) is suited for replicating data from already sharded MySQL or MariaDB tables to TiDB.[28] A common use case of DM is to connect MySQL or MariaDB tables to TiDB, treating TiDB almost as a slave, then directly run analytical workloads on this TiDB cluster in near real-time.

Backup & Restore

[edit]

Backup & Restore (BR) is a distributed backup and restore tool for TiDB cluster data.[29]

Dumpling

[edit]

Dumpling is a data export tool that exports data stored in TiDB or MySQL. It lets users make logical full backups or full dumps from TiDB or MySQL.[30]

TiDB Lightning

[edit]

TiDB Lightning is a tool that supports high speed full-import of a large MySQL dump into a new TiDB cluster. This tool is used to populate an initially empty TiDB cluster with much data, in order to speed up testing or production migration. The import speed improvement is achieved by parsing SQL statements into key-value pairs, then directly generate Sorted String Table (SST) files to RocksDB.[31][32]

TiCDC

[edit]

TiCDC is a change data capture tool which streams data from TiDB to other systems like Apache Kafka.

PingCAP

[edit]
PingCAP
TypePrivate
IndustryEnterprise software
Founded2015
FoundersMax Liu, Dongxu Huang, Qiu Cui
Headquarters,
United States
Key peopleMax Liu (co-founder and CEO)
Dongxu Huang (co-founder and CTO)
ProductsTiDB, TiKV, TiDB Cloud
Number of employees
c. 500 (2026)
Websitewww.pingcap.com

PingCAP is an enterprise software company that develops TiDB, an open-source distributed SQL database, and TiKV, its underlying distributed key-value storage engine. Founded in Beijing in 2015, the company later established its headquarters in Sunnyvale, California, and also has offices in Singapore, Kuala Lumpur, and Tokyo.[33][34]

Funding

[edit]

PingCAP raised a $15 million Series B round in 2017 led by China Growth Capital, with participation from Matrix Partners China, Yunqi Partners, FreeS Fund, and K2VC,[33] and a $50 million Series C round in 2018.[35] In November 2020 the company announced a $270 million Series D round jointly led by GGV Capital, Access Technology Ventures, Anatole Investment, Jeneration Capital, and 5Y Capital, bringing total funding to approximately $342 million.[36][37][38] In July 2021, PingCAP raised an additional undisclosed amount from investors including GIC, Sequoia Capital China, and Future Capital, at a reported valuation of $3 billion.[35]

History

[edit]

TiDB was started in 2015 by PingCAP, a company founded by three infrastructure engineers who had previously worked on distributed systems at Chinese internet companies.[6] It was founded in Beijing in 2015 by Max Liu, Dongxu Huang, and Qiu Cui, who had previously worked together on Redis infrastructure at the Chinese internet company Wandou Labs.[33] The founders had earlier collaborated on Codis, an open-source clustering solution for Redis.[6] The first general availability release, TiDB 1.0, shipped in October 2017.[39][1] TiDB's storage layer, TiKV, was accepted into the Cloud Native Computing Foundation as a sandbox project in August 2018,[10] moved to incubation in May 2019,[11] and graduated in September 2020.[12] The same year, PingCAP engineers published a description of the system's architecture at the VLDB conference.[40]

In 2020, engineers from PingCAP published "TiDB: A Raft-based HTAP Database" at the International Conference on Very Large Data Bases (VLDB), describing the system's approach to combining transactional and analytical processing on a single data set.[40]

PingCAP announced TiDB Cloud, a managed service offering of TiDB, in beta in June 2020.[36]

In October 2025, PingCAP announced TiDB X, an architectural revision that uses cloud object storage as the primary persistence layer and separates compute from storage.[41]

See also

[edit]

References

[edit]
  1. 1 2 "1.0 GA release notes". GitHub.
  2. "Release 8.5.8". August 27, 2026. Retrieved August 27, 2026.
  3. Xu, Kevin (October 17, 2018). "How TiDB combines OLTP and OLAP in a distributed database". InfoWorld.
  4. "F1: A Distributed SQL Database That Scales". 2013.
  5. "Spanner: Google's Globally-Distributed Database". 2012.
  6. 1 2 3 Hall, Susan (April 17, 2017). "TiDB Brings Distributed Scalability to SQL". The New Stack. Archived from the original on May 5, 2017.
  7. Tocker, Morgan (November 14, 2018). "Meet TiDB: An open source NewSQL database". Opensource.com.
  8. "Compatibility with MySQL". PingCAP.
  9. "TiKV Architecture". TiKV.
  10. 1 2 Evans, Kristen (August 28, 2018). "CNCF to Host TiKV in the Sandbox". Cloud Native Computing Foundation.
  11. 1 2 "TOC Votes to Move TiKV into CNCF Incubator". Cloud Native Computing Foundation. May 21, 2019. Retrieved August 19, 2020.
  12. 1 2 TiKV Authors (September 2, 2020). "Celebrating TiKV's CNCF Graduation". TiKV.
  13. "The Raft Consensus Algorithm".
  14. "TiDB Vector Search".
  15. "TiDB Release Notes".
  16. "TiDB Release Timeline".
  17. "TiDB Versioning". PingCAP. Retrieved August 31, 2026.
  18. "TiDB Release Support Policy". PingCAP. Retrieved August 31, 2026.
  19. Jackson, Joab (January 22, 2019). "Database Operators Bring Stateful Workloads to Kubernetes". The New Stack.
  20. Philips, Brandon (November 3, 2016). "Introducing Operators: Putting Operational Knowledge into Software". CoreOS.
  21. "TiDB Operator GitHub repo". GitHub.
  22. "Introducing the Kubernetes Operator for TiDB". InfoWorld. August 16, 2018.
  23. "Deploy TiDB to Kubernetes on Your Laptop".
  24. "Deploy TiDB, a distributed MySQL compatible database, to Kubernetes on Google Cloud".
  25. "Deploy TiDB, a distributed MySQL compatible database, on Kubernetes via AWS EKS". GitHub.
  26. Long, Heng (April 19, 2020). "Get a TiDB Cluster Up in Only One Minute". PingCAP. Retrieved August 19, 2020.
  27. "TiDB Cloud". Retrieved August 31, 2026.
  28. "DM GitHub Repo". GitHub.
  29. Shen, Taining (April 13, 2020). "How to Back Up and Restore a 10-TB Cluster at 1+ GB/s". PingCAP.
  30. "Dumpling Overview". PingCAP.
  31. Chan, Kenny (January 30, 2019). "Introducing TiDB Lightning". PingCAP.
  32. "TiDB Lightning Overview". PingCAP.
  33. 1 2 3 "Chinese Software Startup PingCAP Raises $15M in Series B" (Press release). PR Newswire. June 20, 2017. Retrieved August 12, 2026.
  34. "About PingCAP". PingCAP. Retrieved August 12, 2026.
  35. 1 2 "PingCap powers through to $3bn valuation". Global Corporate Venturing. July 21, 2021. Retrieved August 12, 2026.
  36. 1 2 "Open-Source Company PingCAP Announces $270 Million Series D Funding" (Press release). PR Newswire. November 17, 2020. Retrieved August 12, 2026.
  37. Lunden, Ingrid (November 16, 2020). "PingCAP, the open-source developer behind TiDB, closes $270 million Series D". TechCrunch. Retrieved August 12, 2026.
  38. "US-based enterprise software firm PingCap nets $270m in Series D round". DealStreetAsia. November 17, 2020. Retrieved August 12, 2026.
  39. "TiDB 1.0 release notes". 2017.
  40. 1 2 Huang, Dongxu; et al. (2020). "TiDB: A Raft-based HTAP Database". Proceedings of the VLDB Endowment. 13 (12).
  41. "TiDB X Architecture".

Further reading

[edit]