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% 以上。”

挑战: 效率 , 生产力 , 速度

行业: 软件

地点: 中国

云类型: 私有

产品类型: 安装程序

出版: December 10, 2018

使用的项目
gRPC
Kubernetes
Prometheus
Stay informed

Get the latest news from our community of doers. Subscribe to the CNCF newsletter.

See footer for our privacy policy.

一些数据…

开发人员内部工作效率

提高 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 图

Join the CNCF end user community and accelerate your cloud native technology adoption in close collaboration with peers, project maintainers and CNCF.