月活超 1.1 亿,用户超 4 亿,你也在用的「知乎」是如何在超大规模 TiDB 集群上玩转多云多活的?来听听知乎代晓磊的答案!

💡 原文中文,约7600字,阅读约需19分钟。
📝

内容提要

知乎数据库负责人代晓磊分享了知乎在TiDB实践方面的进展,包括多云多活方案和数据库稳定性建设。他还介绍了TiDB的可观测能力和资源隔离方面的建设。此外,他还提到了知乎开发的天穹平台,用于整合TiDB的生命周期管理。他还分享了对数据库发展的看法,包括数据库的产品力、生态和场景,以及未来数据库的发展方向。

🔎

延伸解读

多云多活:互联网场景的落地挑战

知乎是TiDB社区中唯一在互联网场景落地多云多活的案例。其方案基于Placement rule,在三个IDC部署五副本(2-2-1),两个在线集群承担读写,一个灾备集群,结合follow read或steal read承接流量,实现任一在线机房宕机时集群可用。这为面临多云容灾需求的团队提供了参考,但需注意该方案对网络延迟和副本调度有较高要求。

稳定性建设:从报警治理到资源隔离

知乎通过动态适配报警阈值和聚合报警,将critical报警从1500个降至几十个。资源隔离方面,为不同业务创建独立TiDB Server集群,并利用SQL抑制策略如Max execution time和quota限制资源使用。存储侧通过拆集群,将S级业务独立部署,A级业务三套集群,B/C级混用老集群,从而敢承诺99.95%的SLA。这些实践表明,稳定性需要从监控、隔离、拆分等多维度系统化解决。

天穹平台:TiDB全生命周期管理

知乎自研的天穹平台整合了TiEM和TiDB Dashboard,实现TiDB从创建、迁移、日常运维到下线的全生命周期管理。DBA和业务均可使用,业务能自助创建集群、查看QPS和监控、调整资源quota,并结合FinOps进行成本分摊。平台还支持oncall工单和审批流程。这种自助化平台降低了运维负担,但需要前期投入开发,适合有一定规模的企业。

数据库未来:AI与多模态的融合

代晓磊认为数据库未来有三个方向:AI x DB,如自然语言转SQL;AIOps,利用日志进行故障预警和自愈;多模态和多workload,如基于TiKV构建TiRedis、TiMongo等,以及Serverless按量付费。这些方向反映了数据库正从单纯的数据存储向智能化、多样化演进,但落地仍需解决技术成熟度和生态整合问题。

❓

Q&A

知乎在TiDB的实践中有哪些进展?

知乎在TiDB的实践中部署了400多个TiDB Server节点和600多个TiKV节点,数据规模达到PB级别,核心场景中约30%运行在TiDB上。

什么是多云多活方案,知乎是如何实现的?

多云多活方案是指在不同云环境中实现数据库的高可用性,知乎通过基于TiCDC的主备集群方案和自适应集群方案来实现这一目标。

知乎如何提升TiDB的稳定性?

知乎通过提升可观测能力和资源隔离来增强TiDB的稳定性,设定不同的报警阈值和创建不同业务的TiDB Server集群以实现资源隔离。

天穹平台的功能是什么?

天穹平台用于整合TiDB的生命周期管理,提供自助化处理功能,包括集群创建、监控、报警和资源管理等。

数据库未来的发展方向有哪些?

未来数据库的发展方向包括AI x DB、AIOps和多模态、多workload的数据库。

TiDB的产品力体现在什么方面?

TiDB的产品力体现在功能实现、稳定性和性能上,包括支持ACID一致性和分布式事务等特性。

🏷️

标签

➡️

继续阅读