当前,云原生已经成为应用开发者在选择架构设计时的首选。云原生让应用开发者可以将所有精力都集中在开发业务逻辑本身,这极大降低了应用开发者的负担。而云原生数据库更是火的一塌糊涂,已经开始有鱼龙混杂的苗头。而真正的云原生在数据库上的应用并不会改变云和数据库本身的状态,但它的应用让云变成了更理想的云,也让数据库上云有了实际意义。
亚马逊云科技数据库产品“应云而生“
从Gartner等机构的研究报告中不难发现,全球数据库市场正在出现一个新的趋势,以Oracle、DB2和Microsoft SQL Server三大巨头为代表的传统商业数据库的市场份额不断下降,而开源数据库和云第三方数据库市场在持续增长。用户的用云方式改变,也对云数据库带来极大的挑战。当前,数据应用正在驱动着数据库技术和整个生态架构的变化,可以总结为以下四个改变。第一个改变:传统的关系型数据库已经无法满足诸如:电商、视频、社交、出行等场景应用,这类应用对数据库要求非常高,数据并发、数据处理都不是一个传统的关系型数据库所能应付的。 伴随着移动互联网的风生水起,大量NoSQL数据产生,从而驱动着云原生关系型数据库的出现。第二个改变,越来越多的用户把自身的应用架构放在开源的数据库引擎上,MySQL、PostgreSQL广受青睐,而不再购买传统数据库的license。第三个改变,客户希望开发人员专注于核心业务的应用和数据,这也验证了云原生所带来的价值,这种变化让更多客户向全托管式的云数据库服务进行转型。第四个改变,软件架构在不断的迭代和转型,从Server到SOA再到微服务,同时驱动着数据库选型的变化以及数据库技术和架构的迭代。
针对用户的习惯改变,行业技术趋势的改变,亚马逊云科技在数据库产品上也做出相应转变。“亚马逊云科技做云上数据库产品有五大理念:第一是专库专用,极致性能。第二是无服务器,敏捷创新。第三是全球架构,一键部署。第四是平滑迁移,加速上云。第五是AI赋能,深度集成。” 亚马逊云科技大中华区产品部总经理顾凡介绍。当前数据爆炸式增长,微服务架构与DevOps愈发流行的今天,开发者真正需要的是在不同的应用场景下针对不同的数据类型和不同的数据访问特点,提供专门构建的工具,这是亚马逊云科技在构建数据库时第一个要构建的核心理念:专库专用。亚马逊云科技为客户构建的数据库的产品家族种类繁多,应有尽有。这其中有:托管的关系型数据库Amazon RDS支持多种常用的数据库引擎,包括MySQL、PostgreSQL、Oracle、SQL Server、MariaDB。比MySQL、PostgreSQL更专业的开源数据库Amazon Aurora。针对海量数据的场景的非关系型数据库Amazon DynamoDB。此外还有托管的图形数据库Amazon Neptune、托管的时序数据库Amazon Timestream以及不可篡改的数据库产品Amazon QLDB。
Amazon Aurora是亚马逊云科技推出的核心的关系型数据库。Amazon Aurora可以提供5倍于标准MySQL的性能,以及3倍于PostgreSQL的吞吐量。同时提供高可用,可以扩展到15个只读副本,同时成本只有商业数据库的1/10。Amazon Aurora的架构拥有三大优势。第一,它天生就是计算和存储分离,底层数据库存储就是一个分布式的存储服务。第二,Amazon Aurora的设计哲学总结起来就是Log is Database,所以数据库的计算实例和底层的存储之间得写log,这样的目的是减少计算实例和存储之间的网络带宽需求,从而提升数据库的性能。第三,Amazon Aurora会把数据库一部分的核心功能,像故障恢复、备份还原到分布式的存储层去解决,这些任务可以在后台执行,不会影响前台用户的任务。虽然Amazon Aurora作为云原生关系型数据库进行了多项创新,但因为今天已经不是一个数据库打天下的时代了,所以关系型数据库仍然有它的挑战。这也是亚马逊云科技数据库产品家族种类繁多的原因之一,通过各种有针对性的产品满足客户的各种需求。
虎牙海外直播全球数据库实践
虎牙是以游戏直播业务为核心的直播平台,目前旗下有两款产品: 虎牙直播和Nimo TV。虎牙在发展过程中也采用了很多新的技术应用于直播领域,对数据库的稳定性要求是首当其冲的,其次由于海外业务的扩展,对数据库的扩展性也提出了要求,另外,数据库需要能够兼容已有的架构,新的直播业务需求可以做到无缝上线。基于以上需求,虎牙重新梳理了自己的数据库体系。从关系型数据库的角度来说,之前一直使用的是MySQL,随着业务量的增加、数据爆炸,MySQL的性能已经不能满足业务需求,经过多方测试,虎牙最终选择了亚马逊云科技的数据库产品Amazon Aurora替换了传统的MySQL。
“虎牙对Amazon Aurora的使用比较广泛,存储了交易信息、主题信息、主播的开播记录以及用户信息等,将原先存储在MySQL上的数据全部迁移到Amazon Aurora。在使用过程中,发现了Amazon Aurora的四个好处。” 虎牙海外业务平台技术负责人马昭在接受采访中透露。首先是性能的提升, MySQL如果需要去提升读写性能,需要做分库分表操作。但使用了Amazon Aurora省去了大量的分库分表工作,研发人员可以更加关注在核心业务的开发上。第二,Amazon Aurora扩展性非常好,虎牙直播在海外流量变化非常迅速,需要频繁的扩容与缩容,MySQL难于满足这个需求。而Aurora由于计算和存储采用分离架构,扩缩容非常容易,现在已经完全做到自动扩缩容,使成本下降了50%以上。海外业务经常会碰到流量突增,虎牙直播可以利用Amazon DynamoDB来应对流量突增。第三,Amazon Aurora的全球同步能力对于有出海业务的企业非常重要,虎牙直播的海外用户和国内用户有所差别,如果想降低延迟,提升用户体验,需要就近访问数据,以前的MySQL很难满足这个需求。而Amazon Aurora的物理同步方式则很好地支撑了虎牙直播数据的全球化。第四,传统MySQL的维护和迁移比较繁琐,而Amazon Aurora的维护相较MySQL会简单很多,基本上都可以实现自动化。另外,Amazon Aurora还有很多API可以很方便地接入到公司运维体系,方便公司对业务的监控和规划。此外,Amazon Aurora能完全兼容MySQL,无需做任何代码更改就可以上线。未来,虎牙还将在云游戏领域进行不断探索,尝试不同的数据存储和同步方式对云游戏的支持,以及 AI技术在数据库的弹性应用。