从MySQL到POLARDB, 三位CTO讲述迁移背后的故事

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

此前,POLARDB核心卖点是100%向下兼容MySQL 5.6,100TB存储容量,性能是官方MySQL的6倍,跑分超越AWS Aurora。

4402b9c2c7f2c2f9725692e65b00c628676639d9

(阿里云数据库事业部总经理曹伟(花名:鸣嵩))

近日,在2018杭州云栖大会上,阿里云数据库事业部总经理曹伟(花名:鸣嵩)在接受笔者采访时,介绍了过去一年POLARDB的变化:

1、在写性能方面,再度提升近2倍,去年13万QPS,今年达到了25万QPS;POLARDB还支持多达16个节点,其聚合读性能超过1000万QPS;在相同测试流程下,POLARDB写性能比AWS Aurora快了近两倍;

2、在读写分离方面,提供了会话一致性的读写分离支持。虽然读写分写是常用技术,但通常读节点会有一定程度的延迟问题,对此,POLARDB新增了智能网关技术,用户可以在主节点上完成写,再从分节点实现读,满足了用户的读写一致性的需求。

3、SQL加速能力,通过使用MPP技术,能够让一条SQL同时在16个节点上执行,从而把一条复杂SQL的查询时间缩短了8-20倍。

4、在数据库稳定性上,POLARDB是目前全球唯一一家在生产环节大规模使用Optane技术的云服务商,3D XPoint技术能像写内存一样,从物理上消除QOS抖动,数据库跑起来写请求会更平稳。

在鸣嵩看来,POLARDB的最大优势是,客户只需要付出开源数据库的价格就能获得商业数据库的性能和特性。鸣嵩还透露,阿里云预计在年底会推出POLARDB PostgreSQL版。

对于正受困于数据库瓶颈的企业而言,POLARDB的性价比、阿里云的市场地位与阿里巴巴的技术实力及品牌影响力,无疑有着不小的诱惑力,但广告再好也要看疗效,决定将数据库迁移到POLARDB,并不是一个简单的过程,势必会遇到很多问题,如何评估考量,如何实施,需要注意些什么?近日,笔者就遇到了三家已经完成从MySQL迁移到POLARDB的企业技术负责人,我们一起听听他们的经验分享。

法大大CTO 陈立清

校宝在线CTO 胡淼

果仁软件联合创始人&研发副总 赵亚南

瓶颈产生

法大大,国内第三方电子合同平台,拥有660多万企业用户,业务发展很快。据法大大CTO陈立清介绍,每天在法大大的平台上,合同签署量约在270万到300万份,最大的证书表约有17.8亿,占数据库852G。

法大大经历的过程很具代表性,从一个主库再到读写分离,再拆分成20个实例。不少互联网创业公司相信都会经历类似的阶段。

2017年5月,法大大在北京、杭州、深圳建立3个节点(相当于三个数据中心),并构建了双活架构,而问题就在这时候产生了。

当初,法大大采用的数据库是MySQL,最明显的数据容量限制是3TB。据陈立清介绍,法大大每个月仅结构化数据的增长量就1TB多,因此,必须要有一个大数据库来汇总这部分数据,否则,就会有大问题。比如,法大大分了三个数据中心后,华东用户会路由到杭州数据中心,但如果涉及到分子公司情况,用户总部在北京,其实数据源在北京,子公司先登入杭州,实际上是查不到数据的,因此,只能又跳回北京。当用户量很大时,这就对程序的复杂性及用户性能都会带来很大挑战。

校宝在线,成立于2010年,是国内民办教育信息化服务提供商,行业内首家新三板挂牌企业。帮助超过60000个教育品牌实现信息化管理,帮助超过140000个校区实现互联网+教育的业务升级,服务教育从业者超80万,年经办交易流水300亿元。

校宝在线业务发展同样很快,数据量也不小。据校宝在线CTO胡淼介绍,校宝在线数据库单表亿级数据、单业务库几百个GB。主要问题有2个方面,其一,读写不一致性;其二、扩容慢;

业务访问高峰期,因为校宝在线的业务并非同一事务性,导致读写不一致性,简单的说,就是刚写的数据,客户查不到,必须要刷新才能看到。据胡淼介绍,虽然校宝在线能够根据业务发展,预知扩容操作,但这个预知不会太早,一般是提前一天,这导致了尴尬问题的发生。胡淼说,有一次晚上7点,开始进行扩容,但直到第二天早上业务高峰来临之前,依然没有扩容成功,最终只能打电话跟业务公司取消操作,否则业务高峰上来客户感知会非常差。因为没扩容成功,最终只能对客户进行限流来保障。

果仁软件,2014年8月成立,前身为苏州十万火急网络科技有限公司,从事阿里巴巴平台系列软件开发。

据果仁软件联合创始人&研发副总赵亚南介绍,四年前,果仁软件开发了一款蝌蚪云餐饮系统,为餐厅提供从点餐到收银到后厨管理的SaaS化的解决方案。

众所周知,餐饮行业的特点是业务高峰并发性非常明显。通常在中午12点并发量会瞬间飙升。过去几年,餐厅对SaaS接受程度不高,根本原因在于SaaS采用在线形式,而餐点网络环境通常都比较慢、卡,因此,对稳定性要求高,需要更快查询,统计报表的要求比较高。

随着餐厅业务量越来越大,上万家餐厅每天都有几万单,还有菜品的详情,大量的增量数据产生,库表也达到一两百张,导致业务上需要不断做更新。

过去果仁软件采用比较传统的做法,定时跑任务,但这样带来的问题是数据会延迟1分多钟才能出现。

综上所述,三家企业要选择新数据库的根本原因其实大同小异,都是业务迅速发展,导致数据库瓶颈,面临的问题使用现有办法很难有效解决,到了必须要引入新技术的地步,否则投入的人工和硬件成本会急剧上升。

评估考量

在选择新数据库的过程中,三家企业的关注点并不尽相同,但都围绕自身需求展开。

法大大有3个关注点:

1、能与MySQL很好的兼容,平滑迁移,不会导致额外增加工作量。

2、突破3TB容量限制;

3、读写分离,数据汇总放在主库,相关查询、统计等放在读库,获得性能进一步提升;

校宝在线2个关注点:

1、解决读写不一致性的问题;

2、解决扩容问题;

果仁软件2个关注点:

1、需要一个介于MySQL和大数据库之间产品,能提高性能;

2、解决增量分储,减少开发人员不断对业务进行库表的分表分库;

虽然三人都强调,从技术层面而言,成本多少不是其最关注的问题,主要关注点还是业务本身的平稳,包括怎么样给客户提供最优质的服务,但如果两个都能兼顾,那当然是最好了。

选型过程

对于为什么会选择POLARDB?其实这三家并没有经历复杂的选型过程,因为,这三家本身就是阿里云的用户,所以,当数据库遇到瓶颈后,选择使用阿里云新发布的POLARDB就变得顺理成章。

陈立清表示,法大大一开始就在阿里云上,跟阿里云配合也很多,并配有专门的钉钉服务组。因此,当法大大的数据库出现瓶颈后,就与阿里云有过多次沟通包括远程会议。

即便是阿里云用户,但POLARDB毕竟是新品,所以前期论证,还花费了比较多的时间,陈立清说。

胡淼则表示,此前校宝在线一直与阿里云有合作,所以,对阿里云有较好的信任基础。当校宝在线遇到业务上的技术难题时,也会跟阿里云探讨怎么办,当时探讨结果,POLARDB可能是一个不错的选择,因此,在阿里云还没有放出POLARDB一些新功能新特性,校宝在线就已经提前试用了。

12月12日,校宝在线正式申请了POLARDB,事实上,测试工作在更早就开始了。在整个数据库架构画出来,相关问题得到一个一个解决以后,校宝在线才真正下定决心使用它。

胡淼特别强调,在整个过程中,阿里云全程陪护,技术的感觉有了,服务很到位。也是选择POLARDB的一个很重要的原因。整个升级的过程并没有预想中的那么夸张,非常平滑的完成迁移。

赵亚南则表示,果仁软件主要是从事阿里巴巴平台系列软件开发,属于淘宝开放平台的开发者,所以上云肯定是首选阿里云,并且对阿里云其他产品如负载均衡,存储,RDS等都有试用和研究。

但即便是阿里云的用户,在签阿里云数据库资源时,果仁软件所有开发人员依然很担心,因为POLARDB是新品,做技术的第一反应是存在风险,当时抱着怀疑态度,但在今年要解决瓶颈的目标推动下,还是与阿里云进行了联系。

实施策略

即便本身是阿里云的用户,但对于POLARDB这个新产品,三家企业在实施过程中都保持谨慎的态度,都从测试环境开始,慢慢过渡到业务系统。

陈立清介绍了法大大的实施过程,先在测试环境上开始使用,然后逐步引入:

第一步、汇总低频使用的归档数据,如电子合同业务,做全流程的验证;

第二步、后端开始应用于报表、相关BI统计和分析;

第三步、在生产环境应用,面向前端的客户;

校宝在线、果仁软件的实施过程也大同小异,在采用前做了大量研究测试,如测试POLARDB对MySQL的兼容性是否达到100%,业务环境全流程测试结果,大体库表查询测试等等。

成本变化

成本是除了性能之外另外一个绕不开的话题,迁移之后,总体成本是否有大幅上升?这可能会是企业在解决业务困境后,转而关注的问题。

据胡淼介绍,因为只读实例比较多,从MySQL迁移到POLARDB,对校宝在线而言整体成本没有上升。

赵亚南表示,非常关注成本,果仁软件用了RDS的只读和预上线,实例有很多,成本一月在四五千,使用了POLARDB后,整体成本反而下降了20%左右。因为,POLARDB使用了共享存储技术,所以,只读用的越多,POLARDB相比普通的RDS反而越便宜

写在最后

在采访中,能明显感觉到三家企业技术负责人对迁移结果还是满意的。虽然,最初有担心,有怀疑,甚至抱着不计成本也要解决瓶颈的勇气,但最终结果显然要优于预期,问题得到解决,而且成本并没有明显增长,甚至有的还有下降。

对绝大多数企业而言,自建或自研数据库显然不是最佳选择,往云上迁移,降低成本才是必经之路,如果云服务商提供的数据库产品能解决自身问题,好用且成本能接受,服务有延续性,那么企业就会因此而买单。

对于企业来说,最重要的还是专注,把核心精力聚焦在自身核心业务上,做好产品,为客户创造价值。


原文发布时间为:2018-10-12
本文作者:老鱼
本文来自云栖社区合作伙伴“ ITPUB”,了解相关信息可以关注“ ITPUB”。
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL NoSQL 关系型数据库
关系型数据库管理系统Mysql
关系型数据库管理系统Mysql
|
29天前
|
数据可视化 关系型数据库 MySQL
PolarDB常见问题之无法创建mysql的连接池如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
30天前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
216 2
|
1月前
|
存储 关系型数据库 MySQL
TiDB与MySQL、PostgreSQL等数据库的比较分析
【2月更文挑战第25天】本文将对TiDB、MySQL和PostgreSQL等数据库进行详细的比较分析,探讨它们各自的优势和劣势。TiDB作为一款分布式关系型数据库,在扩展性、并发性能等方面表现突出;MySQL以其易用性和成熟性受到广泛应用;PostgreSQL则在数据完整性、扩展性等方面具有优势。通过对比这些数据库的特点和适用场景,帮助企业更好地选择适合自己业务需求的数据库系统。
|
1月前
|
SQL 关系型数据库 MySQL
OBCP实践 - 迁移 MySQL 数据到 OceanBase 集群
OBCP实践 - 迁移MySQL数据到OceanBase集群,这是一个涉及到将现有MySQL数据库的数据和表结构迁移到OceanBase分布式数据库集群的实际操作过程。OceanBase是一款高度兼容MySQL协议的分布式数据库产品,支持在线平滑迁移,以便企业用户可以从传统的MySQL数据库平滑迁移到OceanBase,以实现更高的可用性、扩展性和性能。
33 0
|
1月前
|
关系型数据库 MySQL 分布式数据库
PolarDB for MySQL数据库外网连接解析失败的原因可能有以下几点
【2月更文挑战第16天】PolarDB for MySQL数据库外网连接解析失败的原因可能有以下几点
23 1
|
1月前
|
关系型数据库 MySQL 测试技术
数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性!
本次基于阿里云瑶池数据库解决方案体验馆,带你体验PolarDB MySQL Serverless形态下的性能压测环境,基于可选择的标准压测工具进行压测,构造弹性场景进行压测,实时动态展示弹性能力、价格和性价比结果,压测环境可开放定制修改、可重复验证。参与活动即有机会获得鼠标、小米打印机、卫衣等精美礼品。
数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性!
|
2月前
|
关系型数据库 MySQL 测试技术
数据库专家带你体验PolarDB MySQL版 Serverless的极致弹性特性
本次基于阿里云瑶池数据库解决方案体验馆,带你体验PolarDB MySQL Serverless形态下的性能压测环境,基于可选择的标准压测工具进行压测,构造弹性场景进行压测,实时动态展示弹性能力、价格和性价比结果,压测环境可开放定制修改、可重复验证。参与活动即有机会获得鼠标、小米打印机、卫衣等精美礼品。
|
2月前
|
关系型数据库 MySQL 分布式数据库
PolarDB for MySQL数据库外网连接解析失败的原因
【2月更文挑战第5天】PolarDB for MySQL数据库外网连接解析失败的原因
63 8
|
2月前
|
关系型数据库 MySQL 数据库
如何正确的把Mysql迁移至其他机器上运行
如何正确的把Mysql迁移至其他机器上运行