——聚焦数智 · 改变商业 近日,走过十个年头的亚马逊re:Invent大会今年落下帷幕,亚马逊云科技发布了包括云数据库在内的一系列重塑未来的创新技术与服务,并邀请全球各行各业的客户及亚马逊云科技合作伙伴分享前沿商业创新实践,继续引领云技术和产业未来发展的风向。
会上宣布高盛与亚马逊云科技共同推出面向金融机构的全新云上数据和分析解决方案——高盛金融数据云,将显著提升其数据分析能力和速度。会上亦宣布亚马逊云科技与纳斯达克达成多年合作伙伴关系,为全球资本市场构建新一代云计算基础设施。从2022年开始,纳斯达克计划分阶段将其北美的多个交易市场迁移至亚马逊云科技。
纳斯达克总裁兼首席执行官AdenaFriedman表示:“与亚马逊云科技的合作具有里程碑的意义。通过共同建立真正基于云的交易市场基础设施,并使其更具弹性、可扩展性,可供所有市场参与者访问。十多年来,纳斯达克一直利用亚马逊云科技的弹性和高安全性优势,提供客户驱动的解决方案。”
最近正值国内互联网公司公布第三季度财报的时间。互联网大厂业绩普遍下滑,一方面互联网的无序扩张迎来最强监管,另一方面互联网的流量逐渐见顶,各互联网公司的广告收入增长大多降至个位数或负增长。不过值得留意的是,阿里云收入首次达到200 亿元,与去年同期相比增长33%,并且连续第四个季度实现盈利,成为阿里巴巴财报少有的亮点。
云计算四巨头收入增长及之间市场份额(不含其它云厂商)的比较,来源:Wikibon
同属云计算赛道的亚马逊云科技的营收更是达到161.1 亿美元,增长了39%,经营利润48.8 亿美元,几乎为亚马逊贡献了经营利润的全部。在这个新旧交替的时代转变中,亚马逊云科技的成功能否给尚处于迷雾之中的中国互联网一些新的启发?
亚马逊自身数据库的云端迁移是最佳实践案例
让我们把时钟拨回到2004年,当时亚马逊还是全面基于Oracle的关系型数据库来构建自身的电商业务。2004年的12月,整个亚马逊网站Amazon.com有了几小时的业务中断,像所有科技公司一样,亚马逊做了根因分析,得出的结论是,由于亚马逊电商本身的业务增长,已经触碰到了关系型数据库在数据体量支持的上限瓶颈。从那时起,亚马逊的工程师团队就在寻求下一代解决方案,面对亚马逊业务持续增长带来的可用性、可扩展性以及高性能等需求。
他们首先调研了自身业务,发现大约70%对数据库的操作是key-value类型,这些操作仅仅使用主键来获取单条数据;大约20%的操作会返回一个数据集,但是这些数据集均来自于同一张表,而标准的关系型数据库在零售场景的实际需求并不频繁。如此就倒逼亚马逊电商团队继续思考:为什么一定要把关系型数据库看得那么重呢?能否设计一款既可以支持读写、又能横向扩展的分布式数据库?
加州大学的计算机科学家 Eric Brewer 曾在1998年提出,分布式系统有三个要素指标:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance),简称为CAP 原则。该原则最重要的一点是,这三要素最多只能同时实现两点,不可能三者兼顾。
当实际场景更强调高可用性、高容错性的时候,可以牺牲掉一致性,比如网页的更新就不是很强调一致性,短时期内,一些用户拿到老版本,另一些拿到新版本,用户是可以接受的,当然,所有人最终都会看到新版本,所以,该场景的可用性要高于一致性。
2007年,亚马逊首席技术官和副总裁沃纳·威格尔与同事们共同发表了划时代的论文Dynamo: Amazon's Highly Available Key-value Store,它要解决的核心诉求即是满足电商网站“永远在线”的用户体验,提升其可用性、扩展性和性能。
这篇论文提出的观点是将原本“所有客户端在同一时间能够获得相同的数据”的“强一致性”打掉,通过水平扩容的方式,采用“hash算法”将数据均匀分布到不同的数据节点上,并且只允许使用主键值(key-value)来存储和检索数据。由于数据可以复制到不同的机器上,用户可以从任意一台机器查找数据,如此获取同一份数据的吞吐量得到提高,而所有机器的数据最终会保持一致,也让用户能够接受。他们花了一年的时间,最终验证了Dynamo在具有挑战的环境中仍然保持了良好的可用性。
众所周知,后来的亚马逊发展了电商以外的很多其他业务,包括亚马逊云科技、音乐、Alexa、Prime会员等等,进入到更多的应用场景,这些今天亚马逊称为Tire0的新增业务都是由Amazon DynamoDB来支撑的。
而随着亚马逊的业务体量持续增长,他们考虑把全部应用都进行了迁云和重构,包括微服务化。亚马逊云科技大中华区产品部总经理顾凡介绍说,亚马逊在2019年把存储在7500个Oracle数据库中的75PB内部数据全部迁移到亚马逊自己的数据库,包括Amazon DynamoDB、Amazon Aurora、Amazon ElastiCache。当时亚马逊有100多个团队参与了迁移工作,覆盖了亚马逊电商所有关键系统,所有工作负载全都从Oracle迁出。
顾凡说道,作为Oracle全球排名前几的大客户,亚马逊电商可以拿到非常好的折扣,但即便考虑到折扣的情况,经过我们初步计算,从Oracle切换到亚马逊云科技以后,亚马逊电商至少节省了60%的成本,同时面向亚马逊消费者端应用程序的延迟降低了40%,数据库的管理支出减少了70%。采用云上全托管服务后,亚马逊数据库管理人员把时间精力放到了数据库监控、性能调优、查询优化等更重要的方面,全面提升了用户体验。
亚马逊云科技数据库的五大核心理念
顾凡表示,数据是应用程序的一部分,数据库亦离不开应用,这些年来,应用本身架构的变化驱动着数据库技术和生态发生着变化。除了大量的NoSQL数据产生以外,越来越多的用户希望把自身的应用架构在开源的数据库引擎上,并且,他们希望把所有的时间都花在核心业务的应用开发上,现代化应用随之诞生,软件架构也随之从Server到SOA再到微服务。
亚马逊云科技正是经历了应用端驱动数据库变化的全过程,所以能够从全方位理解企业需求,在此基础上形成了一套适应当今客户应用需求的完整架构体系。顾凡说道,目前亚马逊云科技的云数据库产品有五大理念:第一是“专库专用,极致性能”;第二是“无服务器,敏捷创新”;第三是“全球架构,一键部署”;第四是“平滑迁移,加速上云”;第五是“AI赋能,深度集成”。
亚马逊云科技大中华区产品部总经理顾凡,来源:亚马逊云科技
专库专用,极致性能。首先,面对数据量爆炸式的增长,微服务架构与DevOps愈发流行的今天,一个数据库打天下的时代早已过去,开发者真正需要的是,在不同的应用场景下针对多种数据类型和数据访问特点,能够使用专门的构建工具。顾凡用锤子来比喻,一把锤子无法完成所有的事情,而且也太重了,应该是根据实际需要在工具箱里找到一个最顺手的工具。
亚马逊云数据库服务全景,来源:亚马逊云科技
我们从上面亚马逊云科技官方网站列表中,可以把“工具箱”每个格子看得比较清楚:如果客户想用托管的关系型数据库,就选用Amazon RDS;如果客户偏好MySQL、PostgreSQL等开源数据库引擎,就用Amazon Aurora;对于非关系型托管的键值数据库,则推荐DynamoDB,可以达到毫秒级响应;满足竞价广告、排行榜等极致低响应延迟的需求,可选用内存数据库ElastiCache或MemoryDB做低延迟缓存;客户希望兼容MongoDB时,有DocumentDB;对于一些特殊场景,比如适用于欺诈检测、社交网络、推荐引擎,则有“图数据库”Neptune;又如车联网、实时运维,有“时序数据库”Timestream,若需要不可篡改账本,就选用QLDB。
顾凡在回答媒体记者提出关于OLTP和OLAP场景融合的问题时表示,我们不太愿意去做所谓大一统的产品,就好比我们一直说一把锤子不是万能的,实际上挑不出某个技术在性能、功能和可用性等方面都做到极致。“目前还没看到哪个HTAP的数据库能够在要求极致性能、稳定性的场景下提供比较好的服务,这也是我们为什么坚持专库专用。”
顾凡介绍说,亚马逊的客户“九州通”是一家医药领域的企业,其B2B业务系统有个特点:“读多写少”,通常读写比例在7:2或8:3,有促销时,波峰、波谷落差还会比较大。当九州通选用了Amazon Aurora之后,帮客户实现了读写分离,一旦流量起来,Amazon Aurora会自动增加一到多个只读节点以满足高峰流量,高峰过后又会自动将弹性回缩。如此既能满足九州通高峰时的流量,又能实现成本最优化。结果九州通整体数据库性能提升了5倍,TCO降低了50%。
无服务器、敏捷创新。“尽管我们谈了很久无服务器,有个基本的问题,企业为什么需要无服务器(Serverless)?”,亚马逊云科技大中华区产品部数据类产品高级经理王晓野说道,“绝大多数的企业应用都会有业务的波峰波谷,他们会按照峰值留有余地选择数据库的计算资源,那么势必会带来资源浪费。当客户想要自动扩展数据库规模的时候,无论是扩大还是缩小,亚马逊云科技的无服务器模式都可以进一步帮助他们做资源选型,同时还能自动设置扩展相应的规则。”
从运维角度来看,无服务器模式的背后与云计算的概念是非常相近的,也就是说,将云厂商多年对于大规模数据库运维、伸缩扩展的经验,以及团队整体技术能力最大化地开放给客户,让我们的客户能够借助这些无服务器的服务,真正实现不需要再去管理或者配置服务器,按量进行缩放,真正为价值付费,让客户受益。
除了前面提到的DynamoDB,本次媒体沟通会上,王晓野重点分享了一款新产品Amazon AuroraServerless V2,它不仅是关系型数据库,也同时具备无服务器的能力,让用户无需管理任何数据库实例,即可在云上运行该数据库。作为升级版本,它又将其自动扩展能力进一步发挥,在不到一秒钟的时间内,将几百个事务扩展到数十万的级别,并且在扩展的过程中每一次调整的增量都以非常精细化的方式去管理。由于是按需付费,该系统与按峰值负载来预置容量相比,用户最高可以节省 90% 的数据库成本。
亚马逊云科技的游戏类客户嘉谊互娱,是集研发与运营于一体的游戏公司,专注开发休闲类小游戏。我们知道,一旦哪款游戏成为爆款,其业务用量就会呈几十倍的增长,所以敏捷开发对客户来说至关重要。他们在研发环境中,从应用到数据库级别,均采用了Amazon Aurora Serverless架构,“让他们把精力集中在游戏开发和业务上面,无需考虑底层数据库的管理和运维。”
全球架构、一键部署。在全球化的今天,无论是手机、视频娱乐还是智能汽车,亚马逊云科技的客户群体往往分布到全球,同时灾难恢复对于其现代化的、全球化的分布式应用架构来说也提出了新的挑战。现在需要支持全球的业务应用,支持其扩展性、连续性,需要把最低的延迟带给到他们的终端用户,使其获得最佳的体验。
王晓野介绍说,像亚马逊的内存数据库Amazon ElastiCache以及文档数据库Amazon DocumentDB,都能够利用亚马逊云科技的骨干网络提供比互联网更稳定的网络支撑,以一键部署的方式,帮助客户实现几千公里跨区域的数据库灾备,故障恢复能在一分钟之内完成,同时跨区域的数据复制延迟通常小于一秒。
王晓野举了他们服务全球传媒巨头迪士尼的例子。当时迪士尼在全球有6050万订阅用户,分布在全球的各个角落,比如某个观众居住在北美,出差去欧洲,他仍然希望能够享受几乎没有延迟差异的迪士尼视频流媒体服务。亚马逊通过其Amazon DynamoDB Global Tables让迪斯尼 平台采用多区域复制来转移流量,实现了个位数的延迟,在全球各地得到统一的体验。
亚马逊云科技服务国内互联网公司虎牙在出海时,也采用了Amazon Aurora的物理同步方式,很好地支撑了其数据的全球化。虎牙海外业务平台技术负责人马昭表示,海外的国家很多,我们很难去统计各国的节日、什么时候大主播会上线,所以一旦流量突增,对我们会有很大的压力。后来我们利用Amazon DynamoDB可以轻松应对十倍以上的流量突增。
平滑迁移、加速上云。如今亚马逊的客户有超过45万的数据库迁移到了亚马逊云科技平台上,这个数字还在不断增长。为了让客户快速实现目标,亚马逊又推出了Amazon Database Migration Service,让客户进行自助式云迁移,同时提供专家方面的支持。
王晓野说道,数据库迁移大致分为两个步骤,第一步是数据库的格式转换,就好像搬家时先搬空家具,第二步才是真正的数据迁移,从原有结构换到新结构之后,将数据迁移至新结构中,好比把厨房的厨具、衣物再放到家具里。这两步之后,还有一个重要工作,就是应用程序代码的改造,客户很少是因为数据库驱动而上云迁移,往往是因为企业整体应用迁移,数据库向云上异构的数据库迁移之后,还要做相关应用程序代码转换改写,这往往意味着一笔昂贵的成本开销。
亚马逊云科技给出的答案是,采用今年11月份全球推出的Babelfishfor Amazon Aurora PostgreSQL,在中国也于11月24日正式发布。王晓野说,Babelfish名字来源于在极客圈里著名的科幻小说《银河系漫游指南》里的一种生物,只要把这种寄生生物塞在人的耳朵里,它就以脑电波的方式将外星语言翻译成本星球人可以听得懂的语言。对应到我们的系统,Babelfish作为Amazon Aurora PostgreSQL云数据库的一个小插件,它让 Aurora 能够兼容 Microsoft SQL Server 编写的应用程序。当我们的企业已经熟悉了Microsoft的T-SQL语法的情况下,它可以“翻译”转换成PostgreSQL的T-SQL代码,能够加速企业迁移上云。
Babelfish for Aurora PostgreSQL的运作方式,来源:亚马逊云科技
AI赋能,深度集成。亚马逊云科技的现代化应用无数次证明,机器学习要比传统方式更好。比如欺诈检测,过去用单一的个人记录,现在需要大量利用人际关系进行风险控制。传统的关系型数据库解决不了人与人、人与物之间千丝万缕的关系,亚马逊云科技给出的解决办法是借助图数据库和机器学习共同完成这项任务。
王晓野介绍说,Amazon Neptune是亚马逊云科技专门为此需求构建的数据结构,能够存储人与物之间各种关系的数据库,特别是在今年8月推出的Neptune ML功能,让用户无需掌握机器学习的技能,直接从图数据库导出数据,转换格式,训练模型,直至发布,并且用gremlin语句调用训练成的模型在数据库里实现推理,进行欺诈检测以及物品推荐。
王晓野在演讲的最后表示,亚马逊云科技有能力在企业的各个阶段,从初期到成长再到未来创新,都可以帮助到我们的客户。亚马逊云科技拥有十余种专门构建的数据库服务,支持关系、键值、文档、内存、图、时间序列、宽列和分类账八大数据类型。从2021年至今,亚马逊云科技就发布了60多个数据库相关的服务和功能,目前全球共有数十万客户,而且在数据库领域亚马逊已经连续六年被Gartner评为领导者象限。
亚马逊云科技重视云上数据安全,与企业共担责任
在此次媒体沟通会上,记者们非常关注数据库安全问题,刚好这段时间某友商发出声明辟谣其“云数据库泄露”,当云计算和存储的市场规模不断增大,势必对安全问题引起更多的关注。根据今年早些时候Scale Partners与光锥智能联合发布的调研数据显示,76%的客户认可云原生价值的同时,61%的客户对云原生技术在大规模应用时的安全性、可靠性、性能、连续性心存顾虑。
顾凡对此回答道,亚马逊云科技很早就开创了“云上责任共担模型”,若没有这个模型,很难让企业客户真正敢把关键应用负载放到云上来。我们负责基础设施的安全与合规,会给客户提供大量关于安全的最佳实践。同时,客户对其数据也必须拥有自己的权利,我们承诺绝不会碰客户的数据。
最近几周,我们看到新的数据安全政策不断出台,国家各部委对数据及网络安全方面继续加强管控措施,如央行发布了《金融数据安全,数据安全评估规范》(征求意见稿)、国家网信办对《网络数据安全管理条例(征求意见稿)》公开征求意见;在工信部近日印发的《“十四五”大数据产业发展规划》中,也进一步强调数据要素价值,并强调要筑牢数据安全保障防线,统筹发展和安全。
顾凡表示,在现在的大环境下,数据库是数据存储的关键一环,但我们不能孤立去看,数据从数据库到存储、分析服务或者机器学习,始终处于不断流动的过程中,所以我们更愿意从整体去看。亚马逊提出一个观点,云上的安全不能像鸡蛋那样,虽然鸡蛋皮足够硬,但只有一层,而是要像剥洋葱,其安全和防护必须分层,从基础设施、edge端、数据端,整个链条都会对数据流提供端到端的加密、保护。
“云上安全另一个关键是我们认为无论是数据库、分析还是客户身份认证的安全,需要主动设计,而不是被动响应,所以我们在主动设计方面做了大量的工作,而不是单纯的事后审计追责。”顾凡如是说。
王晓野补充道,第一,亚马逊云科技为企业提供的产品,考虑到全球数据库的容灾性能、业务连续性等方面,是亚马逊云科技“主动设计”安全能力的体现。第二,亚马逊在讲责任共担的时候,我们会说数据本身的安全是客户自己负责的,而亚马逊提供的是数据加密或者脱敏等相关服务,这也是云数据库的优势之一,而且我们几乎所有的数据库产品都会和亚马逊专业的安全产品如Amazon KMS、Secret Manager等服务进行非常紧密的集成。
除此之外,在数据库安全领域,审计也是相当重要的一环。审计上面,亚马逊云科技有 Amazon CloudTrail去记录所有的云上操作,另外在Amazon Aurora等数据库中,也提供了Activity Stream功能,将活动推送到 Amazon Kinesis 数据流,从而方便对数据库活动进行审计。
云原生咨询公司伊克罗德作为通过亚马逊云科技7项能力认证的托管服务商,为客户提供上云咨询、迁移、培训与解决方案。伊克罗德信息科技总经理桂梓捷表示,客户常有安全、备份、容灾等方面的需求,以往不论是我们还是客户,大约40%的时间要花在备份和容灾上,还不包括花在数据的还原、测试、演练以及其他安全管理的时间。
亚马逊云科技能够快速帮助伊克罗德的客户在数据安全上做大幅的提升,在高扩张性和效能提升的同时,也可以满足监控、合规的要求。以Amazon Aurora的服务为例,亚马逊可以针对静态的档案、传输中的档案、集群的副本、快照、备份进行加密,也可以在网络层的安全性上,进行VPC网络层级的隔离。
桂梓捷表示,他们的客户XShoppy采用了亚马逊云科技的数据库托管服务,减少了30%的停机时间,在平台电商的页面打开速度提升了20%,而且用户的体验也大幅增加了,他们用户数因此增长了十倍。
麦肯锡咨询公司在《云的万亿美元“奖金”待争夺》一文中也提到,到 2030 年,由于系统停机和网络安全等漏洞,各公司将可能损失约 6500 亿美元,而通过云的方式可以将迁移应用程序的停机时间减少约 57%,从而使违规成本降低 26%。“云计算具有巨大的潜力,但大多数公司目前还只停留在表面。现在各个企业需要考虑的是,如何在竞争对手到来之前抓住它。”
文:陆易斯 / 数据猿