从MySQL到POLARDB, 三位CTO讲述迁移背后的故事
摘要:去年9月21日,阿里云发布了自主研发的通用云数据库POLARDB公测版,今年4月,POLARDB正式商业化。
此前,POLARDB核心卖点是100%向下兼容MySQL 5.6,100TB存储容量,性能是官方MySQL的6倍,跑分超越AWS Aurora。
(阿里云数据库事业部总经理曹伟(花名:鸣嵩))
近日,在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 胡淼
果仁软件联合创始人&研发副总 赵亚南
01
瓶颈产生
法大大,国内第三方电子合同平台,拥有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分多钟才能出现。
综上所述,三家企业要选择新数据库的根本原因其实大同小异,都是业务迅速发展,导致数据库瓶颈,面临的问题使用现有办法很难有效解决,到了必须要引入新技术的地步,否则投入的人工和硬件成本会急剧上升。
02
评估考量
在选择新数据库的过程中,三家企业的关注点并不尽相同,但都围绕自身需求展开。
法大大有3个关注点:
1、能与MySQL很好的兼容,平滑迁移,不会导致额外增加工作量。
2、突破3TB容量限制;
3、读写分离,数据汇总放在主库,相关查询、统计等放在读库,获得性能进一步提升;
校宝在线2个关注点:
1、解决读写不一致性的问题;
2、解决扩容问题;
果仁软件2个关注点:
1、需要一个介于MySQL和大数据库之间产品,能提高性能;
2、解决增量分储,减少开发人员不断对业务进行库表的分表分库;
虽然三人都强调,从技术层面而言,成本多少不是其最关注的问题,主要关注点还是业务本身的平稳,包括怎么样给客户提供最优质的服务,但如果两个都能兼顾,那当然是最好了。
03
选型过程
对于为什么会选择POLARDB?其实这三家并没有经历复杂的选型过程,因为,这三家本身就是阿里云的用户,所以,当数据库遇到瓶颈后,选择使用阿里云新发布的POLARDB就变得顺理成章。
陈立清表示,法大大一开始就在阿里云上,跟阿里云配合也很多,并配有专门的钉钉服务组。因此,当法大大的数据库出现瓶颈后,就与阿里云有过多次沟通包括远程会议。
即便是阿里云用户,但POLARDB毕竟是新品,所以前期论证,还花费了比较多的时间,陈立清说。
胡淼则表示,此前校宝在线一直与阿里云有合作,所以,对阿里云有较好的信任基础。当校宝在线遇到业务上的技术难题时,也会跟阿里云探讨怎么办,当时探讨结果,POLARDB可能是一个不错的选择,因此,在阿里云还没有放出POLARDB一些新功能新特性,校宝在线就已经提前试用了。
12月12日,校宝在线正式申请了POLARDB,事实上,测试工作在更早就开始了。在整个数据库架构画出来,相关问题得到一个一个解决以后,校宝在线才真正下定决心使用它。
胡淼特别强调,在整个过程中,阿里云全程陪护,技术的感觉有了,服务很到位。也是选择POLARDB的一个很重要的原因。整个升级的过程并没有预想中的那么夸张,非常平滑的完成迁移。
赵亚南则表示,果仁软件主要是从事阿里巴巴平台系列软件开发,属于淘宝开放平台的开发者,所以上云肯定是首选阿里云,并且对阿里云其他产品如负载均衡,存储,RDS等都有试用和研究。
但即便是阿里云的用户,在签阿里云数据库资源时,果仁软件所有开发人员依然很担心,因为POLARDB是新品,做技术的第一反应是存在风险,当时抱着怀疑态度,但在今年要解决瓶颈的目标推动下,还是与阿里云进行了联系。
04
实施策略
即便本身是阿里云的用户,但对于POLARDB这个新产品,三家企业在实施过程中都保持谨慎的态度,都从测试环境开始,慢慢过渡到业务系统。
陈立清介绍了法大大的实施过程,先在测试环境上开始使用,然后逐步引入:
第一步、汇总低频使用的归档数据,如电子合同业务,做全流程的验证;
第二步、后端开始应用于报表、相关BI统计和分析;
第三步、在生产环境应用,面向前端的客户;
校宝在线、果仁软件的实施过程也大同小异,在采用前做了大量研究测试,如测试POLARDB对MySQL的兼容性是否达到100%,业务环境全流程测试结果,大体库表查询测试等等。
05
成本变化
成本是除了性能之外另外一个绕不开的话题,迁移之后,总体成本是否有大幅上升?这可能会是企业在解决业务困境后,转而关注的问题。
据胡淼介绍,因为只读实例比较多,从MySQL迁移到POLARDB,对校宝在线而言整体成本没有上升。
赵亚南表示,非常关注成本,果仁软件用了RDS的只读和预上线,实例有很多,成本一月在四五千,使用了POLARDB后,整体成本反而下降了20%左右。因为,POLARDB使用了共享存储技术,所以,只读用的越多,POLARDB相比普通的RDS反而越便宜。
06
写在最后
在采访中,能明显感觉到三家企业技术负责人对迁移结果还是满意的。虽然,最初有担心,有怀疑,甚至抱着不计成本也要解决瓶颈的勇气,但最终结果显然要优于预期,问题得到解决,而且成本并没有明显增长,甚至有的还有下降。
对绝大多数企业而言,自建或自研数据库显然不是最佳选择,往云上迁移,降低成本才是必经之路,如果云服务商提供的数据库产品能解决自身问题,好用且成本能接受,服务有延续性,那么企业就会因此而买单。
对于企业来说,最重要的还是专注,把核心精力聚焦在自身核心业务上,做好产品,为客户创造价值。
END
延伸阅读
Hadoop将死?Cloudera CEO怒怼Gartner
公众号
laoyubiji
老鱼,企业级老编一枚,采访过上百位CEO/CTO,你若有故事,欢迎联系!
欢迎订阅老鱼笔记
✬如果你喜欢这篇文章,欢迎分享到朋友圈✬
评论功能现已开启,灰常接受一切形式的吐槽和赞美☺