以下是TiDB分布式关系型数据库的搭建与使用指南,采用分步说明:


一、TiDB核心架构

TiDB由三个核心组件构成:

  1. TiDB Server:无状态SQL层,处理MySQL协议
  2. TiKV:分布式事务型键值存储引擎
  3. Placement Driver (PD):集群调度管理器

其分布式特性满足CAP定理中的: $$ \text{一致性}(C)+\text{分区容错性}(P) \Rightarrow \text{高可用} $$


二、环境准备

硬件要求(最低配置):
组件 CPU 内存 磁盘
TiDB 4核 16GB SAS/SSD
TiKV 8核 32GB NVMe SSD
PD 4核 8GB SSD

💡 生产环境建议:3台以上物理机(禁用swap,关闭透明大页)


三、部署流程(使用TiUP工具)

# 1. 安装TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

# 2. 初始化集群拓扑
tiup cluster template > topology.yaml

# 3. 部署集群(示例3节点)
tiup cluster deploy tidb-test v6.1.0 topology.yaml -y

# 4. 启动集群
tiup cluster start tidb-test


四、基本操作示例

1. 连接数据库
mysql -h 127.0.0.1 -P 4000 -u root

2. 创建分片表
CREATE TABLE orders (
    order_id BIGINT PRIMARY KEY,
    user_id INT NOT NULL,
    amount DECIMAL(10,2)
) SHARD_ROW_ID_BITS = 4;  -- 设置16个分片

3. 分布式事务写入
BEGIN;
INSERT INTO orders VALUES (10001, 201, 99.99);
INSERT INTO order_details VALUES (10001, 'item_A');
COMMIT;  -- 使用Percolator协议保证ACID


五、关键运维命令

# 查看集群状态
tiup cluster display tidb-test

# 在线扩容TiKV节点
tiup cluster scale-out tidb-test scale.yaml

# 版本升级
tiup update cluster tidb-test --version v6.2.0


六、性能优化建议

  1. 热点问题处理
    ALTER TABLE orders SHARD_ROW_ID_BITS = 6;  -- 增加至64分片
    

  2. 索引设计原则
    • 避免全表扫描
    • 优先使用组合索引
  3. 事务控制
    SET tidb_txn_mode='optimistic';  -- 乐观事务模式
    


七、监控体系

  1. 内置Dashboardhttp://<PD_IP>:2379/dashboard
  2. Prometheus+Grafana
    tiup cluster grafana tidb-test
    

  3. 关键监控指标:
    • TiKV: grpc_99延迟 ≤ 100ms
    • PD: balance_region调度速率

⚠️ 注意:生产环境需定期执行ANALYZE TABLE更新统计信息


通过上述步骤即可完成TiDB集群的搭建与基础使用。该架构支持水平扩展至数百节点,适用于高并发OLTP场景,兼容MySQL协议降低迁移成本。

Logo

更多推荐