UCloud TiDB服务是什么

TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

UCloud 于今年 8 月 将 TiDB 公有云化并推出 UCloud TiDB Service,当前使用的 TiDB 版本为 3.0.5 。UCloud TiDB Service 相比裸机部署性能并无损耗,提供跨可用区高可用,对监控和 Binlog 等做了改造增强,使用户可获得一键创建、按需付费、灵活扩缩容的 TiDB 服务。

UCloud TiDB Service

为什么叫 UCloud TiDB Service?这里强调 Service 是因为从公有云用户的角度来看,TiDB 运行在公有云平台上,其实是以服务的形式呈现而不是一个物理资源。UCloud TiDB Service 是一个支持原生 MySQL 协议的,高性能、跨可用区高可用、高可扩展的,面向 Serverless 的分布式数据库服务。

UCloud TiDB Service是什么

兼容原生 MySQL 协议

大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。

跨可用区高可用

TiDB 本身虽具备一定高可用性,但一般用户没有跨可用区部署条件。UCloud TiDB Service 的所有组件都是跨可用区部署。TiDB 所有模块的多实例部署能力,结合 UCloud 跨可用区部署能力,UCloud TiDB Service 可抵御可用区级故障。

动态扩展

TiDB 无论是计算节点还是存储节点都可以实现水平扩展,通过简单地增加新节点即可按需扩展吞吐或存储,轻松应对高并发、海量数据场景。

Serverless

Serverless 的产品形态让用户更加简单快捷的使用到 TiDB,无需关心底层的物理资源,也无需关心底层分布部署的细节。

按需付费,接入成本低

无需指定 CPU、内存、硬盘等资源,用户只需按实际使用的硬盘和存储量进行付费,节省了前期的硬件成本投入。

性能对比

我们做了一个测试,在相同物理配置(Intel Xeon E5-2620 v4, DDR4_16GB_2400MHz x12, U.2_NVMe_3.2TB x2 )和相同软件部署(TiDB x3, TiKV x3, PD x3 )情况下,测试条件为 sysbench 512 threads, 32 tables, 1000 万行。在裸机上部署 TiDB 和 UCloud TiDB Service 的性能对比如下表所示:

UCloud TiDB Service是什么

结果表明各项指标基本一致,UCloud TiDB Service 和裸机部署相比较,并没有带来性能损耗,有些指标表现略好。而在这背后,UCloud 公有云后台做了哪些事情呢?

打造分布式数据库 PaaS 平台

UCloud TiDB Service是什么

UCloud 内部做了一个分布式数据库的 PaaS 平台(如上图),在管理功能上,左边第一部分有物理机的资源管理,包括每次创建实例的时候资源分配以及实例删除以后资源回收等等操作。第二部分是集群部署,一个创建过程先选取合适的物理机,检测上面的资源是否满足,满足以后分配特定的一些资源出来,然后再执行相应的创建工作,这里面要创建 TiDB 集群,相应的监控、LB 层,以及部署在公有云上都是运行在用户 VPC 里面,需要做 VPC 网络初使化等工作。第三部分是集群维护,比如某台物理机有异常,就要把所有服务迁移到其他的节点面去。这里面主要涉及的是迁移、扩展、缩容这些工作。

右边是监控告警,主要用于对一些异常情况的及时通知告警管理;还有运营分析这块是 UCloud 数据库运营方面的管理。备份管理负责数据库的备份与恢复,用户可以设置比较详细的备份策略,比如何时备份如何备份等。

原生协议是 MySQL 本来的数据流,在这里我们加了一层负载均衡,主要有两个目的:一个是把 IP 地址统一成一个,用户不需要管理 IP 地址的切换;另外针对公有云服务传输做一些控制,主要是帐号和系统方面的控制。

UCloud TiDB服务是什么