PingCAP 使用云原生技术助力其 TiDB 数据库平台发展

挑战

PingCAP 主导开发了广受欢迎的开源 NewSQL 数据库 TiDB。该数据库与 MySQL 兼容,采用了云原生架构设计,可以处理混合事务和分析处理(HTAP)工作负载。全球战略与运营总经理 Kevin Xu 表示:“打造混合多云产品是我们全球产品上市战略的重要一部分。”在 Xu 看来,要实现这一目标,团队必须解决两个挑战:“如何在容器化的世界中部署、运行和管理分布式状态应用程序,例如像 TiDB 这样的分布式数据库。以及如何为客户提供易于使用、一致且可靠的体验,便于他们在云中使用 TiDB。这一云可以由他们自由选择,无论是一个云提供商还是不同云环境的组合。”意识到使用分布式系统并不简单,他们开始寻找合适的编排层来帮助最终用户减少一些复杂性。

解决方案

团队很早就开始关注 Kubernetes 在解决编排问题的表现。Xu 表示:“我们知道 Kubernetes 有能力帮助我们解决问题,唯一的问题就是需要等到它成熟。”2018 年初,PingCAP 开始将 Kubernetes 整合到其内部开发以及 TiDB 产品中。此时,该团队已经拥有使用其他云原生技术的经验,并在前期将 PrometheusgRPC 集成到 TiDB 中。

影响

Xu 表示,到目前为止,PingCAP 客户对于将 Kubernetes 作为部署和管理 TiDB 的工具给出了“非常积极”的回应。客户在部署 TiDB 时会默认安装 Prometheus 和 Grafana(用作仪表板),以便他们在将 TiDB 部署到在生产环境之前和部署过程中,可以监控性能并进行任意调整,以达到其目标。Xu 表示,监控层“让评估过程和沟通更加顺畅”。通过采用该公司基于 Kubernetes 的 Operator 开源方案,客户现在能够在云中不停机部署、运行、管理、升级和维护他们的 TiDB 集群,从而大大减少了工作负载、负担和开销。对于内部情况,Xu 表示:“我们现在完全转向 Kubernetes 进行开发和测试工作,包括我们的数据中心基础设施和面向 TiDB 的自动化测试平台 Schrodinger。通过使用 Kubernetes,我们的资源使用率大大提高。我们的开发人员可以自己分配和部署集群,部署过程从几小时缩短到了几分钟,这让可以用更少的人员来管理 IDC 资源。此外,我们的工作效率提高了约 15%。而随着我们在调试和诊断方面越来越熟悉 Kubernetes,工作效率预计可提高到 20% 以上。”

公司

PingCAP

行业

软件

地点

中国

云类型

私有

产品类型

安装程序

使用的CNCF项目

gRPC
Kubernetes
Prometheus

开发人员内部工作效率

提高 15%

部署时间从几小时缩短到几分钟

减少了客户的工作负载、负担和开销

自 2015 年推出以来,开源 NewSQL 数据库 TiDB 因其与 MySQL 的兼容性、处理混合事务和分析处理 (HTAP) 工作负载的强力能力,以及其云原生架构设计而广受客户的好评。

全球战略与运营总经理 Kevin Xu 表示,PingCAP 从一开始就使用了云计算技术来打造 TiDB,并且“打造混合多云产品是我们全球产品上市战略的重要一部分。”

在 Xu 看来,要实现这一目标,团队必须解决两个挑战:“如何在容器化的世界中部署、运行和管理分布式状态应用程序,例如像 TiDB 这样的分布式数据库。以及如何为客户提供易于使用、一致且可靠的体验,便于他们在云中使用 TiDB。这一云可以由他们自由选择,无论是一个云提供商还是不同云环境的组合。”

意识到使用分布式系统并不简单,PingCAP 团队开始寻找合适的编排层来帮助最终用户减少一些复杂性。Kubernetes 很早就进入了他们的视线。Xu 表示:“我们知道 Kubernetes 有能力帮助我们解决问题,唯一的问题就是需要等到它成熟。”

2018 年初,PingCAP 开始将 Kubernetes 整合到其内部开发以及 TiDB 产品中。Xu 表示:“让 Kubernetes 成为 CNCF 的一部分,而不是只拥有一家公司的支持,这对于提升用户对技术使用寿命的信心非常重要。”此外,“由于治理过程如此开放,因此很容易可以了解技术和社区的最新发展,或者在我们遇到问题时该联系谁。”

TiDB 云原生架构由一个无状态 SQL 层(也称为 TiDB)和一个持久的键值存储层组成,后者用来支持分布式事务(TiKV,现在在 CNCF Sandbox 中)。这两个层采用松散耦合结构。Xu 表示:“您可以根据计算和存储需求来收缩或扩展资源,这两个扩展过程可以相互独立地进行。”PingCAP 团队还构建了基于 Kubernetes 的 TiDB Operator,这有助于在任意云环境中引导 TiDB 集群,并简化和自动化部署、扩展、调度、升级与维护工作。该公司最近还预展了其全托管的 TiDB Cloud 产品。

“我们知道 Kubernetes 有能力帮助我们解决问题,我们只是在等待它成熟,然后把它整合到我们自己的开发和产品路线图中。”

— KEVIN XU,PINGCAP 全球战略与运营总经理

整个 TiDB 平台充分利用了 Kubernetes 和其他云原生技术,包括用于监控的 Prometheus 和用于服务间通信的 gRPC

到目前为止,客户对支持 Kubernetes 的平台的响应“非常积极”。客户在部署 TiDB 时会默认安装 Prometheus 和 Grafana(用作仪表板),以便他们在将 TiDB 部署到在生产环境之前和部署过程中,可以监控实际情况并进行任意调整,以达到其目标。Xu 表示,监控层“让评估过程和沟通更加顺畅”。

通过采用该公司基于 Kubernetes 的 Operator 方案,客户现在能够在云中不停机部署、运行、管理、升级和维护他们的 TiDB 集群,从而大大减少了工作负载、负担和开销。

“由于治理流程如此开放,我们很容易就能了解到最新技术和社区开发成果,或者知道在出现问题时向谁求助。”

— KEVIN XU,PINGCAP 全球战略与运营总经理

这些技术也在内部产生了重要影响。Xu 表示:“我们现在完全转向 Kubernetes 进行开发和测试工作,包括我们的数据中心基础设施和面向 TiDB 的自动化测试平台 Schrodinger。通过使用 Kubernetes,我们的资源使用率大大提高。我们的开发人员可以自己分配和部署集群,部署过程所需的时间显著减少,这让可以用更少的人员来管理 IDC 资源。此外,我们的工作效率提高了约 15%。而随着我们在调试和诊断方面越来越熟悉 Kubernetes,工作效率预计可提高到 20% 以上。”

Kubernetes 现在是 PingCAP 产品路线图的重要组成部分。对于其他也在考虑云原生的人员,Xu 建议道:“现在可以说是最佳的时机。整个云原生社区,无论是 Kubernetes、CNCF,还是像我们这样的云原生厂商,都拥有足够的体验和丰富的实战经验证明其能力,并随时准备着助您一臂之力。”

实际上,PingCAP 团队已经看到越来越多的客户开始采用云原生方案,并且有充分的理由。Xu 表示:“IT 基础设施正快速从成本中心和事后诸葛亮,发展成为任意公司的核心能力和竞争力。云原生基础设施不仅可以为您节省资金,让您可以更好地控制所消耗的基础设施资源,还可以助力新产品创新,为用户带来全新体验以及创造新的业务可能。它能够让您在降低成本和提高收入之间实现双赢。”

TiDB Operator 图