加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

探秘UCloud UDB技术实践之路

发布时间:2019-06-04 21:38:46 所属栏目:评测 来源:赵立京
导读:【51CTO.com原创稿件】在整整六年时间里,UDB 始终和众多用户一同成长。-----------UCloud云数据库负责人罗成对 UCloud 云数据库负责人罗成对 爆炸式增长的数据量、丰富的数据类型带来了各种复杂的数据处理需求,云数据库由于实现了按需付费、按需扩展、高
副标题[/!--empirenews.page--]

【51CTO.com原创稿件】“在整整六年时间里,UDB 始终和众多用户一同成长。”-----------UCloud云数据库负责人罗成对

UCloud
UCloud 云数据库负责人罗成对

爆炸式增长的数据量、丰富的数据类型带来了各种复杂的数据处理需求,云数据库由于实现了按需付费、按需扩展、高可用性以及存储整合等优势,受到了广大用户的欢迎,各种云数据库纷纷涌现。

国内中立的云计算服务商 UCloud 的云数据库 UDB 产品在 2013 年正式商用,经过 6 年的成功运营,UDB 产品线越来越丰富。如 MySQL、MongoDB、PostgreSQL 以及 SQLServer,UCloud 云内存产品 UMem,也涵盖到 Redis 和 Memcache,目前已经广泛支持业内主流数据库。产品特性包括主从架构、高可用、数据库专区、独享、跨区高可用、跨可用区灾备、读写分离、多维度弹性扩展、备份与恢复、监控与告警等。

“在整整六年时间里,UDB 始终和同众多用户一同成长。” UCloud 云数据库负责人罗成对在接受记者采访时表示。

UDB 产品的演进之路

六年中,UDB 数据库产品在不断前行,总结 UDB 的发展历程,有几条路径可循。

首先,紧跟开源社区步伐。2013 年,UDB 从最流行的开源数据库 MySQL 起步,首先推出了 MySQL 实例,2014 年在国内首推了 MongoDB 云服务,2016 年推出 PostgreSQL。

从最权威的 DB Engine 排名来看,结合 NoSQL 团队的 UMem 产品,UCloud 的数据库产品覆盖了 TOP 级的类型。

第二,从产品角度来看,UDB 产品逐渐从早期的资源型交付,转为增值型交付。资源型交付可以简单理解为“我购买的 UDB 是怎么样的资源”,包括版本与机型、稳定可靠、高性能、高可用、安全性、隔离等。增值型交付则可以理解为“自带 DBA”,它是面向场景化的多面手,应对在使用过程中场景化的需求,比如灾备、扩容、迁移、调优等。从 UDB 产品的发展历程来看,现在越来越多的产品是在提供增值型的特性交付。

第三,从开源到自研。经过自研能力的积累和沉淀,在 2016 年,UCloud 推出了自研分布式 UDB(即 UDDB),宣告 UCloud 在自研方面开花结果。

后续还有自研的读写分离,它是 UDB for MySQL 的性能加速器。未来 UCloud 云数据库团队还将陆续推出更多自研、自主的数据库产品。

演进之路上迈过的那些“坎”

UCloud 提供 UDB 数据库产品的愿景是完全消除“获取门槛”和“使用门槛”。细想 UDB 发展历程,作为亲历者的罗成对感觉负担是很重的。“每道坎摆在面前,我和我的团队硬着头皮迈过去,而且还得想着如何’完美’地迈过去” 。

罗成对将这些困难和挑战总结为以下三个方面:

第一,产品质量。早期 UDB 发展很快,产品功能矩阵越来越庞大,架构越来越复杂,在这样的情况下,如何做到产品质量可控?UDB 资源型交付最基本的要求是稳定性,一旦产品质量存在很多隐患,合格交付就无从谈起。UCloud 的解决之道是确定需求把控和软件设计的合理性,从源头上保证质量。同时,简化产品功能矩阵,优化软件架构。

第二,规模和效率。随着 UDB 产品规模不断扩大,如何提升产品运营效率?UDB 产品团队构建了包括自动化平台、SRE、智能 DBA 在内的运营体系,用来持续提升运营效率。这方面的工作持续在做。

第三,产品力。具备深度理解“用户”的产品力,又得实现如何快速交付,是 UDB 产品团队目前的一个主要矛盾。在罗成对看来,这更是一个全方面的考验,它既要求对用户需求的深度理解,又要求对产品发展、技术发展看得足够远,并且在二者之间寻求一个平衡点。而在实践道路上的考验来自于“快”,“天下武功唯快不破”,如何快速理解用户需求,同时快速交付,是 UDB 产品团队一直努力的方向。

用高可用性、高性能、高可靠性解决用户痛点

秉承着”用户的需求就是 UCloud 下一个产品”的理念,UDB 产品的研发过程也紧密围绕着用户需求点来展开。这些需求点总结为三条时间曲线,分别是“性能或者吞吐量”、“可用性”、“价值或者用户”。毫无疑问,用户对这三条时间曲线的期望是一直向上,但是业务量增长时,数据库的表现就不尽如人意,性能和可用性都会出现重大波动,长此以往,用户体验就会变差,新业务无法上线,用户出现流失。

UCloud 采用高可用性、高性能、高可靠性来解决这些痛点。

第一、在可用性方面,UCloud 的 UDB 产品达到了 99.95% 的可用率。在高可用 UDB 的实现上,经过长期运营,发现原有的 VIP+代理+DB 的架构有很多问题,而这种技术架构也是业界最为主流、最为成熟的实现。

UDB 产品团队对其进行了进一步架构简化,即采用更朴素的漂移 VIP+DB 双主的实现,在数据链路上减少一次转发,消除一个潜在性能瓶颈,并且简化控制模块,减少不可控因素。新架构对数据库(MySQL 和 PG)原生的兼容度更高。

第二,UCloud 一直追求更高性能,UDB 的性能优化是一项长期的任务。高性能可以通过扩展来实现,比如主从、读写分离,性能等方面可以进行线性加速的。

罗成对透露,最新一次针对 MySQL 的性能优化后,在通用的场景下,QPS 提高到了 7.27 万,TPS 提高到了 3.6k,相比之前有 32% 的性能提升。

同时,UDB 产品团队通过技术升级、硬件更迭、数据运营等手段,从 2018 年开始针对不同产品进行多次降价,降价幅度 30%-40% 不等。

第三,数据库稳定可靠,而且保持了极好的扩展性,这是对成长型业务最有利的保障。在业务快速发展的不同阶段,UDB 都有直接对应的解决方案。

深耕行业,满足用户需求

UDB 的用户群广泛分布在互联网、电商、游戏、企业服务(SaaS/PaaS)、影音阅读、传统企业等各行各业。罗成对在采访中介绍了几个有代表性的场景。

1、游戏。游戏行业特点是爆发性强,业务持续可用,业务迭代快。技术架构上,多数架构较为单一,即业务逻辑+DB,比较常见的是单区单服设计。这就要求系统可以快速开服,保持高可用性;性能要求高;设计模式(schema)灵活变更,而且异常情况下,误操作可回滚;生命周期短,这就要求数据库有良好的缩性。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读