TiDB 的全称是 TiDB Distributed NewSQL Database,即 TiDB分布式NewSQL数据库。它是一个开源的分布式关系型数据库,结合了传统关系型数据库(RDBMS)的 ACID 事务特性以及 NoSQL 数据库的分布式水平扩展能力。通过 TiDB,用户可以像使用 MySQL 一样执行 SQL 查询,而 TiDB 的分布式架构则能够自动处理数据的分片、复制和故障转移,确保高可用性和弹性伸缩。
TiDB 是一个开源的分布式 NewSQL 数据库,由 PingCAP 公司开发并维护。它结合了传统的关系型数据库(RDBMS)和 NoSQL 数据库的优势,旨在为企业级应用提供高性能、弹性伸缩、高可用性、强一致性的数据服务。以下是 TiDB 的一些主要知识点:
架构与设计
    - TiDB 采用分布式架构,将数据水平切分并存储在多个节点上。
    - 它由 TiDB Server、TiKV 和 PD(Placement Driver)三个主要组件组成。
    - TiDB Server 负责 SQL 解析、优化和执行,以及与其他组件的交互。
    - TiKV 是存储引擎,负责数据的存储和访问。
    - PD 负责整个集群的元数据管理和调度。
兼容 MySQL 协议
    - TiDB 兼容 MySQL 协议,这意味着大多数 MySQL 客户端和工具都可以直接与 TiDB 通信。
    - 这使得迁移现有 MySQL 应用到 TiDB 变得相对简单。
水平扩展与弹性伸缩:
    - TiDB 支持在线水平扩展,通过添加更多节点来提高整个集群的吞吐量和存储容量。
    - 弹性伸缩的特性使得 TiDB 可以根据业务需求动态调整资源。
强一致性与事务支持
    - TiDB 提供 ACID 事务保证,支持分布式事务。
    - 通过 Raft 协议确保数据在多个副本之间的一致性。
高可用性
    - TiDB 通过多副本和自动故障转移机制保证高可用性。
    - 即使部分节点发生故障,整个集群仍然可以保持正常运行。
智能调度与优化
    - PD 负责集群的调度,根据节点的负载和性能进行智能的数据迁移和负载均衡。
    - TiDB 支持多种查询优化技术,如统计信息、索引选择等,以提高查询性能。
监控与管理
    - TiDB 提供了丰富的监控指标和工具,帮助用户了解集群的运行状态和性能。
    - 用户可以使用 TiDB Dashboard、Prometheus 和 Grafana 等工具进行监控和管理。
生态与社区
    - TiDB 拥有活跃的开源社区和广泛的生态系统,包括各种客户端库、迁移工具、监控解决方案等。
    - 社区成员可以贡献代码、报告问题、参与讨论,共同推动 TiDB 的发展。
TiDB 作为一个分布式 NewSQL 数据库,结合了传统关系型数据库的稳定性和 NoSQL 数据库的扩展性,为企业级应用提供了灵活且强大的数据服务。它的设计理念和特性使得它成为处理大规模数据、需要高并发访问和弹性伸缩能力的应用的理想选择。
TiDB数据库-CSDN博客