专注于数字技术的商业观察者
登录×
公司
2021-12-02

亚马逊云科技:应用架构驱动数据库升级

时间: 2021-12-02 编辑:

早年的互联网,当面对电商、视频、社交、出行类场景时,无论是客户并发,还是处理数据级别等角度,这并...

早年的互联网,当面对电商、视频、社交、出行类场景时,无论是客户并发,还是处理数据级别等角度,这并不是一个传统的关系型数据库就能处理的。因此,伴随整个互联网、移动互联网应用开发浪潮的崛起,大量的NoSQL数据产生,驱动着云原生关系型数据库的出现。

与此同时,越来越多的用户希望把自己的应用架构在开源的数据库引擎上,无论是MySQL还是PostgreSQL,而不愿意再把自己的应用架构在一个有严苛标准且会被锁定的数据库引擎。

这就好比公司的开发人员把所有时间都花在核心业务的应用开发上,不需要浪费任何时间去开发跟核心业务无关的代码。这当然是一个非常美好的愿望,其背后的含义就是:客户希望把无法让自己在市场竞争中脱颖而出的“脏活累活”尽量抛掉,让开发人员专注于应用和数据。而这一改变也驱动更多客户向全托管式的云数据库服务进行转型。

另外,从早期的PC、互联网、移动互联网,到现在的万物互联,软件架构基本上都是从Server到SOA再到微服务,这样一个软件架构的迭代和转型,也在驱动着数据库选型的变化。

亚马逊云科技大中华区产品部总经理顾凡

“所以,伴随客户业务体量越来越大,复杂度越来越高,它会在这种情况下选择将超级复杂的单体应用拆分成多个微服务和多个大的功能模块。当客户做了应用重构之后,必然会做数据的拆分,根据这个应用所使用的数据类型以及数据访问特点,来决定究竟应该选择云上的哪一个专门构建的数据库。”亚马逊云科技大中华区产品部总经理顾凡在接受笔者的采访时表示,从应用端可以看到应用开发领域的变化是如何驱动整个数据库技术的变化。对于亚马逊云科技来说,也希望未来能够结合专库专用,极致性能、无服务器,敏捷创新、全球架构,一键部署、平滑迁移,加速上云、AI赋能,深度集成五大理念,从产品端解构,为客户提供专业、可靠的产品和服务。

从客户需求开看,在数据爆炸式增长,微服务架构与DevOps愈发流行的今天,一个数据库打天下的时代早就过去了。真正需要的,是为开发者在不同的应用场景下针对不同的数据类型和不同的数据访问特点,提供专门构建的工具。

这也是亚马逊云科技在构建数据库时第一个要构建的核心理念:专库专用。目前,亚马逊云科技专门构建数据库的产品家族主要包括:托管的关系型数据库Amazon RDS,开启托管数据库服务的新模式;开源的数据库Amazon Aurora;非关系型数据库Amazon DynamoDB以及图数据库Amazon Neptune等。

“亚马逊电商其实当年是Oracle的数据库客户之一,不过随着亚马逊电商整个应用重构,包括微服务化,包括业务体量的发展,我们在2019年将存储在7500个Oracle数据库中的75PB内部数据全部迁移到亚马逊云科技自己的数据库服务。”顾凡表示,现在,亚马逊电商已经是亚马逊云科技在全球的第一大客户。在这样一个迁移的过程中,有100多个团队参与了迁移工作,迁移所覆盖的都是亚马逊电商的关键系统,无论是采购、目录管理、订单执行、广告、财务系统、钱包、视频流,所有工作负载全都从Oracle迁出来。

实际上,从Oracle切换到亚马逊云科技以后,亚马逊电商也节省了60%的成本,同时面向消费者端的应用程序的延迟降低了40%,数据库的管理支出减少了70%。

从业务的角度来看,绝大多数的企业应用都会有业务波峰波谷,如果做一些妥协,按照企业80%、90%的业务峰值去规划数据库的存储容量以及计算资源的话,势必会给应用带来一定的业务连续性上的妥协或者挑战。

虽然当前已经可以做到手动或者自由调整数据库计算资源,但是这背后如果要真的实现在生产上面根据业务需求去扩展数据库规模的话,背后还需要非常多的技术上的努力,才能够真正将它实现。

企业上云的第一步,通常都是从自建数据库选择了托管的关系型数据库,通过云服务、云原生数据库解决大部分运营上的困难,比如,故障修复、补丁、软件升级等。那么作为无服务器的模式还能带来什么?

“当我们想要自动扩展数据库规模的时候,无服务器模式都可以再进一步帮助我们做资源选型,同时还能自动设置我们扩展的相应规则。” 亚马逊云科技大中华区产品部数据类产品高级经理王晓野表示,从运维的层面来解读,无服务器模式背后所代表的和云计算的概念是非常相近。也就是说,将云厂商多年对于大规模数据库运维、伸缩扩展的经验,和团队整个的技术能力最大化开放给客户,使客户受益。

目前,亚马逊云科技在无服务器领域发布了最新的一款产品Amazon Aurora Serverless V2,它与Amazon DynamoDB的核心区别在于,Amazon Aurora是亚马逊云科技推出核心的关系型数据库。一般关系型数据库做扩展,比NoSQL要难非常多,背后还要去考虑交易事故、已有链接如何中断,以及保持机型扩展的数据的一致性。

Amazon Aurora Serverless V2核心提供的能力是瞬间扩展,真正把扩展能力发挥到极致。在不到一秒的时间内,将几百个事务扩展到数十万的级别。同时在扩展的时候,每一次调整的增量都是非常精细化的去管理,如果按照峰值这样去规划数据库资源,能够实现大概90%的成本节省。

更重要的是,Amazon  Aurora Serverless V2真正是生产可用。它将会包含Aurora标准版,基于虚拟机实例的版本,包括全球数据库、多可用区部署以及只读副本,这些高可用的所有生产级别可用的性能。

“在全球化的今天,无论是手机、视频娱乐还是智能汽车,客户群体往往分布到全球,同时灾难恢复对于现代化、全球化的分布式应用架构来说也提出了新的挑战。” 王晓野认为,现在支持全球业务的应用,包括数据库,需要实现支撑全球业务扩展所必要的全球业务的连续性,同时对于分布在全球不同的这些客户,需要把它的一致的用户体验以最低的延迟带给到他自己的终端客户。

在亚马逊云科技的产品里,通过能够提供全球数据库能力的数据库服务,包括Amazon  Aurora关系型数据库的Global Database、Amazon DynamoDB、NoSQL数据库、Amazon ElastiCache内存数据库以及文档数据库Amazon DocumentDB,都能够利用亚马逊云科技的骨干网络提供比互联网更稳定的网络支撑,以一键部署的方式,帮助客户实现几千公里跨区域数据库灾备。

据了解,目前已经有超过45万的数据库通过亚马逊云科技的数据库迁移服务实现了迁移到亚马逊云科技云平台,并且每年迁移的客户数量还在不断增长。

从工具角度上,亚马逊云科技希望客户能够通过Amazon DMS、Amazon Database Migration Service,进行自助式的云迁移。对于迁移过程中可能会需要的人才以及相应的规划,包括迁移之后的优化、相应的流程。通过专业服务团队和合作伙伴网络成员,为客户提供专家方面的支持。

回到技术本身,亚马逊云科技希望通过这两个工具帮助客户实现自助式的体验数据库上云平滑迁移。

通常,数据库迁移分为两部分:数据库的格式转换和数据迁移,但这并不意味着迁移的完成。以SQL Server商业数据库迁移到云上为例,有一个非常关键的步骤,就是因为数据库驱动整体的上云迁移。过去因为企业的整体应用迁移,会涉及到数据库向云上异构的数据库迁移之后,还是要做一个应用程序代码改造的过程。对于SQL Server向PostgreSQL迁移的过程,需要重新去写应用代码逻辑,将T-SQL进行转换改写,这对企业来说也是一笔昂贵的成本开销。

为了更好的帮助客户实现平滑迁移,加速上云的需求,2021年11月份, Babelfish for Amazon Aurora PostgreSQL在全球并且在中国两个区域已经正式可用的。它允许企业在已经熟悉Microsoft的T-SQL语法的情况下,包括协议、驱动,在不需要或者极少改动的情况下,让Amazon Aurora PostgreSQL去理解原有语句所写的针对于T-SQL的代码。

对客户来说,能够加速企业上云的迁移,真正实现让企业可以利用原有的技术栈、原有的SQL Server T-SQL的工程人员可以利用到云数据库直接进行创新。

在现代化应用,尤其是用数据驱动去做创新的时候,许多场景下已经无数次的证明,用机器学习的方式要比传统方式更好。

以欺诈检测的为例,可能个人在银行里面会有相应的一些记录,通过这些信息可以对其是否有欺诈行为做风险判断。但是这背后却没有考虑到作为个人,包括家庭成员,人与人之间的一些关系信息。如今在金融领域,非常多的企业已经开始大量利用人与人之间的关系进行风险控制、欺诈检测。

“从场景来看,关系型数据库已经不能满足这样一个关系的存储,因为它不是为这个场景设计的,以图数据结构去存储数据的数据库更合适。” 王晓野表示,需要用图数据库和机器学习来共同完成任务,势必会碰到挑战:对于机器学习相关的人才我们缺乏技能;此外,开展机器学习,需要把数据进行预处理,挪到机器学习平台,并进行模型训练,这背后还耗费大量的时间和工作。同时,小数据量的验证,如何在大数据量、成千万、上亿级之间的节点的关系,进行机器学习,都是在数据库与机器学习结合相对应所带来的挑战。

为了更好地帮助客户业务的深度集成,亚马逊云科技推出了Amazon Neptune,专门构建的针对于图数据结构,存储物品、人物、各种事物之间的关系的数据库。

在Amazon Neptune,最新推出了在今年8月份同时也在中国区域可用的Neptune ML的功能,允许数据工程师不需要掌握机器学习的技能,直接从图数据库里导出数据,转换格式,训练模型并发布,用gremlin语句调用训练成的模型在数据库里实现推理,进行欺诈检测,进行物品推荐。

标签:
版权声明:本文版权归数字商业时代所有,未经允许任何单位或个人不得转载,复制或以任何其他方式使用本文全部或部分,侵权必究。