知乎 PB 级别 TiDB 数据库在线迁移实践
💡
原文中文,约10200字,阅读约需25分钟。
📝
内容提要
本文由知乎数据库负责人代晓磊撰写,介绍了知乎如何使用 TiDB 进行数据库在线迁移。文章详细描述了三种迁移方案:跨云跨 Kubernetes 集群的副本投放迁移、TiCDC 链接的主备集群迁移,以及其他特殊场景的迁移建议。通过这些方案,知乎成功将多个 TiDB 集群迁移至新机房,确保数据安全稳定,并分享了迁移过程中的准备条件和具体操作步骤。
🎯
关键要点
- 本文介绍了知乎使用 TiDB 进行数据库在线迁移的经验,涵盖了三种迁移方案。
- 在线机房迁移的基本条件包括专线和资源要求,确保迁移过程的稳定性和性能。
- 主要迁移方案包括跨云跨 Kubernetes 集群的副本投放迁移和通过 TiCDC 链接的主备集群迁移。
- 跨云跨 K8s 的 TiDB placement-rule 副本投放迁移是主要方案,适用于大部分迁移需求。
- TiCDC 迁移方案适合需要版本升级或拆分集群的情况,但存在延迟和同步能力限制。
- 其他特殊场景的迁移建议包括业务双写和凌晨写入的情况。
- 迁移过程中的准备条件和具体操作步骤被详细列出,确保数据安全稳定。
- 迁移完成后,团队开发了平台化的 DTS 和机房迁移模块,感谢团队的努力。
❓
延伸问答
知乎是如何进行TiDB数据库的在线迁移的?
知乎通过三种主要迁移方案进行TiDB数据库的在线迁移,包括跨云跨Kubernetes集群的副本投放迁移、TiCDC链接的主备集群迁移,以及其他特殊场景的迁移建议。
在线机房迁移的基本条件是什么?
在线机房迁移的基本条件包括专线要求和资源要求,专线要求是数据中心距离在150公里以内,需有至少两条光纤专线连接,资源要求是物理机配置需优于之前的配置。
TiCDC迁移方案的优缺点是什么?
TiCDC迁移方案的优点是上下游集群独立,支持版本升级,缺点是同步延迟较高,且同步能力有限制,可能无法满足高写入需求。
跨云跨K8s的TiDB副本投放迁移有什么优势?
该方案的优势在于TiKV数据根据placement-rule规则自动投放,业务读写访问透明,写入性能基本没有变化,且可以在同一集群中进行迁移。
迁移过程中需要注意哪些操作步骤?
迁移过程中需要注意创建同版本TiDB集群、调整gc_life_time、使用BR工具备份和恢复数据、创建CDC任务、观察数据同步延迟等操作步骤。
在迁移完成后,知乎团队做了哪些后续工作?
迁移完成后,团队开发了平台化的DTS和机房迁移模块,以跟进迁移进度,并感谢团队的努力。
➡️