唐刘:当 SaaS 爱上 TiDB(一)- 行业挑战与 TiDB 的应对之道

💡 原文中文,约5100字,阅读约需12分钟。
📝

内容提要

本文介绍了TiDB在SaaS业务中的表现,包括可扩展性、多租户管理、方便运维和高可靠性等挑战。TiDB支持水平扩展和在线DDL,提供资源隔离和行列分离的存储方案。文章还提到了TiDB Cloud的自动扩缩容功能和RU资源管理方案。作者表示TiDB将继续努力解决挑战,成为高成长SaaS业务的首选数据库。

🔎

延伸解读

SaaS 业务对数据库的四大核心挑战

文章指出,SaaS 业务对数据库的要求极高,主要体现在可扩展性、多租户管理、方便运维和高可靠性四个方面。可扩展性不仅涉及数据规模,还包括 schema 的扩展;多租户管理需确保租户间数据隔离且互不影响;方便运维要求快速应对业务变更和租户级备份监控;高可靠性则强调业务连续性,避免宕机影响大量租户。这些挑战共同构成了 SaaS 数据库选型的关键考量。

TiDB 的可扩展性:水平扩展与 schema 扩展

TiDB 具备天生的水平扩展能力,通过增加存储节点自动切分数据并保证高可用。文章特别提到 schema 可扩展性挑战:一个客户租户数从几千猛增至 10 万,导致 TiDB 中需管理 1M 张表。作者坦言当前 TiDB 能承接该场景,但仍有挑战需攻坚。此外,TiDB Cloud 的自动扩缩容功能帮助客户在一小时内新增 200 个计算节点应对流量高峰,随后下线 50 个节点节省成本。

在线 DDL 与在线升级保障业务连续性

SaaS 业务变更频繁,数据库需支持 Online DDL 以确保变更不影响在线业务,并具备失败重试和高效执行能力。例如,为 100TB 表添加索引需在小时级完成。数据库版本升级也是重大挑战,停机升级会导致成千上万租户业务中断。TiDB 支持在线滚动升级,避免停机,并在 TiDB Cloud 上提供充分升级方案。文章举例某客户在 30 分钟内执行 300 多次 DDL 变更,显示其已基于 Online DDL 构建业务逻辑。

多租户资源管控:RG 与 RU 的取舍

多租户场景下,资源隔离至关重要。传统 resource group (RG) 方案按 CPU/内存等物理资源隔离,直观但粒度较粗。TiDB 引入 request unit (RU) 抽象,可对特定 SQL 进行细粒度控制,帮助客户看清每条 SQL 的资源开销,优化成本,甚至为租户计费提供更细粒度账单。但 RU 并非完美,作者表示 RG 与 RU 的优劣后续可讨论。此外,TiDB 采用行列分离存储,物理隔离 TP 和 AP,减少 AP 对 TP 的干扰,确保核心业务稳定。

❓

Q&A

TiDB 在 SaaS 业务中有哪些优势?

TiDB 在 SaaS 业务中具备可扩展性、多租户管理、方便运维和高可靠性等优势。

TiDB 如何应对 SaaS 业务的可扩展性挑战?

TiDB 支持水平扩展,客户只需增加存储节点,系统会自动分散数据并保证高可用性。

多租户管理在 TiDB 中是如何实现的?

TiDB 提供资源隔离和 RU 资源管理方案,确保不同租户之间的数据安全和资源控制。

TiDB 的在线 DDL 能力有什么重要性?

在线 DDL 能力确保在进行数据库变更时不影响在线业务,支持快速迭代。

TiDB Cloud 的自动扩缩容功能如何帮助客户?

TiDB Cloud 的自动扩缩容功能可以根据业务流量变化自动调整计算节点,节省成本。

TiDB 如何保证 SaaS 业务的高可靠性?

TiDB 通过支持在线升级和高可用性设计,确保客户业务连续性,避免停机损失。

🏷️

标签

➡️

继续阅读