# pingcap/tidb

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pingcap-tidb).**

39,842 stars · 6,119 forks · Go · apache-2.0

## Links

- GitHub: https://github.com/pingcap/tidb
- Homepage: https://pingcap.com
- awesome-repositories: https://awesome-repositories.com/repository/pingcap-tidb.md

## Topics

`cloud-native` `database` `distributed-database` `distributed-transactions` `go` `hacktoberfest` `htap` `mysql` `mysql-compatibility` `scale` `serverless` `sql` `tidb`

## Description

TiDB is a horizontally scalable, distributed SQL database designed to provide consistent transactional storage and high-performance analytical processing within a single unified architecture. It utilizes a decoupled compute-storage design and a distributed key-value storage layer to ensure horizontal scalability and efficient range-based queries. By employing a consensus-based replication algorithm, the system maintains high availability and automatic failover across multiple nodes and geographical regions.

The platform distinguishes itself through its hybrid transactional and analytical processing capabilities, which allow complex SQL queries to run against replicated columnar data without disrupting primary transactional workloads. It also integrates high-dimensional vector search functionality, enabling semantic similarity queries directly alongside traditional relational data. To support diverse operational needs, the system provides native tools for real-time data streaming, seamless migration from external database systems, and multi-region disaster recovery.

The database is built for cloud-native environments, offering comprehensive lifecycle management through Kubernetes operators that automate deployment, scaling, and rolling upgrades. It maintains compatibility with standard SQL interfaces, allowing applications to connect using common drivers while managing complex concurrency through pessimistic transaction handling. Detailed documentation and command-line utilities are available to assist with cluster orchestration, performance troubleshooting, and the configuration of production-grade topologies.

## Tags

### Data & Databases

- [Analytical Query Engines](https://awesome-repositories.com/f/data-databases/analytical-query-engines.md) — TiDB enables complex SQL queries against replicated columnar data to perform high-speed aggregations and reporting tasks without impacting the performance of primary transactional workloads. ([source](https://docs.pingcap.com/tidbcloud/tidb-cloud-htap-quickstart))
- [Data Manipulation Interfaces](https://awesome-repositories.com/f/data-databases/data-manipulation-interfaces.md) — TiDB inserts, updates, deletes, or retrieves rows using standard data manipulation language statements and common table expressions to manage information within tables. ([source](https://docs.pingcap.com/tidb/stable/sql-statement-overview))
- [Database Orchestration](https://awesome-repositories.com/f/data-databases/database-orchestration.md) — Managing the full lifecycle of large-scale database clusters across cloud or container environments with automated scaling and recovery.
- [Distributed Databases](https://awesome-repositories.com/f/data-databases/distributed-databases.md) — Contribute * * * Copy as Markdown * * * View as Markdown * * * Download PDF Compared with the traditional standalone databases, TiDB has the following advantages: - Has a distributed architecture with flexible and elasti ([source](https://docs.pingcap.com/tidb/stable/tidb-architecture))
- [Distributed Key-Value Stores](https://awesome-repositories.com/f/data-databases/distributed-key-value-stores.md) — Organizes data into sorted key-value pairs across a cluster to provide efficient range-based queries and horizontal scalability.
- [Distributed SQL Databases](https://awesome-repositories.com/f/data-databases/distributed-sql-databases.md) — A horizontally scalable database engine that provides consistent transactional storage and high-performance analytical processing within a single unified architecture.
- [Transaction Management](https://awesome-repositories.com/f/data-databases/transaction-management.md) — TiDB manages transaction lifecycles by starting, committing, or rolling back changes, and setting isolation levels or savepoints to ensure consistent data states. ([source](https://docs.pingcap.com/tidb/stable/sql-statement-overview))
- [Consensus Replication Protocols](https://awesome-repositories.com/f/data-databases/consensus-replication-protocols.md) — Uses a distributed consensus algorithm to maintain consistent data replicas across multiple storage nodes for high availability.
- [Distributed Consensus Stores](https://awesome-repositories.com/f/data-databases/distributed-consensus-stores.md) — A resilient data layer that uses distributed consensus algorithms to ensure high availability and automatic failover across multiple geographical regions.
- [High Availability Architectures](https://awesome-repositories.com/f/data-databases/high-availability-architectures.md) — TiDB distributes a single cluster across multiple regions with replicas in different zones to achieve zero data loss and automatic failover during regional outages. ([source](https://docs.pingcap.com/tidb/stable/dr-solution-introduction))
- [HTAP Databases](https://awesome-repositories.com/f/data-databases/htap-databases.md) — TiDB is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. Find the guide, samples, and references you need to use TiDB. ([source](https://docs.pingcap.com/tidb/stable))
- [Schema Management Tools](https://awesome-repositories.com/f/data-databases/schema-management-tools.md) — TiDB defines and modifies database structures including tables, indexes, and sequences using standard data definition language statements to organize data effectively. ([source](https://docs.pingcap.com/tidb/stable/sql-statement-overview))
- [Columnar Storage Engines](https://awesome-repositories.com/f/data-databases/columnar-storage-engines.md) — TiDB synchronizes transactional data into a columnar storage engine using standard commands to enable real-time analytical processing alongside traditional row-based storage operations. ([source](https://docs.pingcap.com/tidbcloud/tidb-cloud-htap-quickstart))
- [Data Ingestion Tools](https://awesome-repositories.com/f/data-databases/data-ingestion-tools.md) — TiDB loads data from local files or cloud storage providers in common formats like SQL, CSV, and Parquet to populate database tables efficiently. ([source](https://docs.pingcap.com/tidbcloud/tidb-cloud-migration-overview))
- [Data Replication](https://awesome-repositories.com/f/data-databases/data-replication.md) — TiDB implements disaster recovery by synchronizing data between a primary and a secondary cluster using change data capture to ensure business continuity. ([source](https://docs.pingcap.com/tidb/stable/dr-solution-introduction))
- [Database Replication](https://awesome-repositories.com/f/data-databases/database-replication.md) — Contribute * * * Copy as Markdown * * * View as Markdown TiDB uses the Raft consensus algorithm to ensure that data is highly available and safely replicated throughout storage in Raft Groups. Data is redundantly copied ([source](https://docs.pingcap.com/tidbcloud/high-availability-with-multi-az))
- [Database Replication Tools](https://awesome-repositories.com/f/data-databases/database-replication-tools.md) — TiDB transfers full datasets and replicates incremental changes from external database systems into the cluster to support seamless data integration and synchronization. ([source](https://docs.pingcap.com/tidb/stable/ecosystem-tool-user-guide))
- [Disaster Recovery Solutions](https://awesome-repositories.com/f/data-databases/disaster-recovery-solutions.md) — Ensuring business continuity by replicating data across geographically distributed clusters to maintain high availability during regional outages.
- [Hybrid Transactional Analytical Platforms](https://awesome-repositories.com/f/data-databases/hybrid-transactional-analytical-platforms.md) — A data processing environment that executes complex analytical queries directly against live transactional data without requiring separate extract and load pipelines.
- [Hybrid Transactional Analytical Processing Systems](https://awesome-repositories.com/f/data-databases/hybrid-transactional-analytical-processing-systems.md) — Running complex analytical queries on live transactional data without needing to maintain separate databases for reporting and operations.
- [Transaction Control Systems](https://awesome-repositories.com/f/data-databases/transaction-control-systems.md) — TiDB reviews behavioral differences in locking and transaction handling compared to traditional storage engines to ensure correct concurrency control in distributed environments. ([source](https://docs.pingcap.com/tidb/stable/mysql-compatibility))
- [Backup and Recovery](https://awesome-repositories.com/f/data-databases/backup-and-recovery.md) — TiDB performs regular data and log backups to a remote location to enable cluster restoration as a final recovery measure during site failures. ([source](https://docs.pingcap.com/tidb/stable/dr-solution-introduction))
- [Database Migration Tools](https://awesome-repositories.com/f/data-databases/database-migration-tools.md) — TiDB transfers data from external or self-managed databases to the cloud using native migration tools and data merging techniques to ensure a smooth transition. ([source](https://docs.pingcap.com/tidbcloud/tidb-cloud-migration-overview))
- [Sharding Architectures](https://awesome-repositories.com/f/data-databases/sharding-architectures.md) — Partitions data into multiple independent consensus groups to enable parallel processing and granular load balancing across nodes.
- [Bulk Data Loading](https://awesome-repositories.com/f/data-databases/bulk-data-loading.md) — TiDB loads high volumes of data into database clusters from various file formats to support rapid data ingestion and large-scale migration projects. ([source](https://docs.pingcap.com/tidb/stable/ecosystem-tool-user-guide))
- [Change Data Capture](https://awesome-repositories.com/f/data-databases/change-data-capture.md) — TiDB transmits data from a database cluster to external services like message queues or cloud storage by configuring and managing automated replication tasks. ([source](https://docs.pingcap.com/tidbcloud/changefeed-overview))
- [Change Data Capture Tools](https://awesome-repositories.com/f/data-databases/change-data-capture-tools.md) — Monitors and extracts real-time data modifications from the storage layer to propagate updates to external downstream systems.
- [Disaster Recovery Strategies](https://awesome-repositories.com/f/data-databases/disaster-recovery-strategies.md) — TiDB integrates multi-region cluster deployments with cross-cluster data replication to provide high-level error tolerance across geographical regions for critical systems. ([source](https://docs.pingcap.com/tidb/stable/dr-solution-introduction))
- [Resource Governance](https://awesome-repositories.com/f/data-databases/resource-governance.md) — TiDB allocates cluster resources by creating and managing resource groups to estimate capacity requirements and control query execution performance. ([source](https://docs.pingcap.com/tidb/stable/sql-statement-overview))
- [Vector Database Extensions](https://awesome-repositories.com/f/data-databases/vector-database-extensions.md) — Storing and querying high-dimensional embeddings directly within a relational database to enable semantic search capabilities alongside structured data.
- [Vector Databases](https://awesome-repositories.com/f/data-databases/vector-databases.md) — A storage engine that integrates high-dimensional vector embeddings to perform semantic similarity searches alongside traditional relational data queries. ([source](https://docs.pingcap.com/tidbcloud/vector-search-overview))
- [Database Export Utilities](https://awesome-repositories.com/f/data-databases/database-export-utilities.md) — TiDB extracts full database contents into SQL or CSV files from active clusters to facilitate archival, backup, or migration workflows. ([source](https://docs.pingcap.com/tidb/stable/ecosystem-tool-user-guide))
- [Migration Analysis Tools](https://awesome-repositories.com/f/data-databases/migration-analysis-tools.md) — TiDB detects incompatible database features, such as specific stored procedures or triggers, to ensure application compatibility when moving to a distributed database environment. ([source](https://docs.pingcap.com/tidb/stable/mysql-compatibility))

### DevOps & Infrastructure

- [Database Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/database-lifecycle-management.md) — TiDB oversees the full lifecycle of database clusters on physical or virtual machines, including deployment, scaling, and parameter configuration using a command-line package manager. ([source](https://docs.pingcap.com/tidb/stable/ecosystem-tool-user-guide))
- [Database Operators](https://awesome-repositories.com/f/devops-infrastructure/database-operators.md) — A management layer that automates the deployment, scaling, and lifecycle maintenance of distributed database clusters within containerized orchestration environments.
- [Cluster Scaling Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/cluster-scaling-orchestrators.md) — TiDB adds capacity to a running cluster by defining new node configurations in a file and executing scale-out commands without interrupting online services. ([source](https://docs.pingcap.com/tidb/stable/scale-tidb-using-tiup))
- [Kubernetes Operators](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-operators.md) — TiDB applies configuration manifests to a container cluster to automate the deployment and orchestration of database components and their associated monitoring services. ([source](https://docs.pingcap.com/tidb-in-kubernetes/stable/get-started))
- [Custom Resource Definitions](https://awesome-repositories.com/f/devops-infrastructure/custom-resource-definitions.md) — TiDB deploys operator software and custom resource definitions into a container cluster to manage database resources using standard command-line tools. ([source](https://docs.pingcap.com/tidb-in-kubernetes/stable/get-started))
- [Local Development Clusters](https://awesome-repositories.com/f/devops-infrastructure/local-development-clusters.md) — TiDB creates a local test cluster on a single machine using command-line tools to learn about database architecture and component operations for development purposes. ([source](https://docs.pingcap.com/tidb/stable/quick-start-with-tidb))
- [Rolling Update Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/rolling-update-orchestrators.md) — TiDB executes a rolling upgrade of a database cluster by patching the resource specification to trigger the sequential update and restart of all components. ([source](https://docs.pingcap.com/tidb-in-kubernetes/stable/get-started))

### Software Engineering & Architecture

- [Distributed Architectures](https://awesome-repositories.com/f/software-engineering-architecture/distributed-architectures.md) — Separates the SQL processing layer from the underlying storage nodes to allow independent scaling of resources.

### Web Development

- [Database Connectivity Drivers](https://awesome-repositories.com/f/web-development/database-connectivity-drivers.md) — TiDB establishes secure communication between applications and the database using standard drivers to ensure reliable data exchange across various programming languages and environments. ([source](https://docs.pingcap.com/))
