关于数据库、数据仓库等多种存储与分析服务的发展,是AWS这几年力推企业上云的重头戏。
他们在年全球用户大会提出DatabaseFreedom口号,抨击Oracle、微软SQLServer这类旧型商业等级数据库,认为它们成本昂贵、高度捆绑、采用专属设计,并非聚焦于用户需求,因此,AWS鼓吹企业采用开放式的资料引擎与可移植能力,以及强调他们可提供商业等级的关系型数据库性能,因而主推兼容于MySQL和PostgreSQL的AmazonAurora,还可以选择商用等级软件Oracle、SQLServer,以及开放源码软件PostgreSQL、MySQL、MariaDB,而这些都隶属于他们的数据库云计算服务AmazonRDS。
此外,AWS母公司Amazon在11月1日宣布全面改用自家数据仓库服务Redshift,而不再使用Oracle。
到了年全球用户大会,AWS将重点摆在数据仓库,宣布推出更多Redshift系列服务与功能,像是RedshiftRA3执行实例、AQUAforAmazonRedshift高端加速查询、RedshiftDataLakeExport资料湖导出,以及RedshiftFederatedQuery联合查询、具现化查看(虚拟资料表)Materializedviews,其中的RA3、RedshiftDataLakeExport当时已上线提供、Materializedviews的支持提供预览版,AQUAforAmazonRedshift今年12月终于发布预览版,Materializedviews与FederatedQuery,则陆续在3月、4月正式推出。
今年AWS全球用户大会的相关技术应用发布,又将目光重新聚焦在数据库,他们也发布协助数据库系统迁移的新功能,这次锁定的对象是微软SQLServer,而非以往针对的Oracle,同时,也强化Aurora的无服务器应用服务。
关于SQLServer数据库迁移,AWS将推出BabelfishforAuroraPostgreSQL功能,希望能以此协助用户,让他们将既有SQLServer数据库系统,更简易地搬迁至AWS的数据库云计算服务AuroraPostgreSQL,用户可在AuroraPostgreSQL环境,继续执行既有SQLServer的应用程序,而且仅需小幅修改程序代码即可、甚至不用修改程序代码,同时,AWS也计划开放这套软件功能的程序源码,采用Apache2.0授权许可,并公布在程序代码协作与共享社群平台GitHub。
另一项消息,则是他们针对随需执行的关系型数据库服务AuroraServerless,宣布将推出第二版。针对那些不打算自行管理数据库容量的用户,AuroraServerlessv2能在一秒之内,大幅扩展执行规模,而能处理数十万笔交易,相较于基于尖峰容量设置的数据库环境,AWS宣称,最高可节省90%的成本。目前,AWS已针对兼容于MySQL5.7版本的Aurora,推出预览版本供用户测试。
在大数据分析的部分,除了上述AQUAforAmazonRedshift本月宣布推出预览版的消息,AWS还针对资料搬移与准备服务Glue,发布了汇集与复制多个人信息料源的ElasticViews功能,同时,也在商业智能云计算服务QuickSight,增设了自然语言输入查询的功能Q。
取代SQLServer成AWS拓展数据库市场新目标,积极强化迁移能力
为了吸引更多用户将数据库系统迁移到公有云,AWS提供数据库纲要转换工具SchemaConversionTool(SCT),以及数据库迁移服务DatabaseMigrationService(DMS),但除了数据库纲要的转移,应用程序的资料访问逻辑该如何因应搬迁,又会是另一项大工程,因为通常需要大费周章地手动调整程序代码,而且这里面又涉及到数据库各自专属的指令使用。
过去AWS针对Oracle数据库应用程序的部分,可通过SCT将PL/SQL转换到PL/pgSQL,但并未涵盖到SQLServer应用程序,而影响迁移数据库的工程。另一方面AWS这边也接到越来越多用户想将SQLServer迁移至Aurora需求──这主要是因为微软对于授权的做法越来越积极,增加更多操纵机制,例如,他们将自有授权带入云计算服务(BYOL),局限在年10月1日购买的用户,使用的软件也只能升级到这个日期之前可用的版本,使得迁移上云的成本变高。
对此,AWS决定开发一套名为BabelfishforAuroraPostgreSQL的功能,能让原先可在SQLServer执行的应用程序,也能在PostgreSQL其中直接执行,而且只需修改少量程序代码即可。这项功能会替AuroraPostgreSQL提供转换层,让云计算服务能够理解专为SQLServer撰写的应用程序的T-SQL指令。
基本上,Babelfish可支持相关的SQL分支语法、指标、目录查看(catalogviews)、资料类型、触发程序(trigger)、预存程序(storedprocedure)、函数(function),以及TabularDataStream(TDS)通信协议,用户不需改写应用程序的资料访问请求方式,也不需沿用既有SQLServer驱动程序。
用户在运用AWSDMS迁移数据库之后,只需更新他们的应用程序组态,将数据库的指向从原本的SQLServer改为Aurora即可。由于Aurora会通过BabelfishforAuroraPostgreSQL理解SQLServer与PostgreSQL专属的查询语言,之后用户即可改用PostgreSQL来撰写数据库应用程序的功能,并且能同时执行既有的SQLServer的T-SQL语法叙述程序代码。
作为Aurora即将发布的功能之余,AWS也预告,将在年公开BabelfishforPostgreSQL的程序源码,将受益的对象扩大至整个PostgreSQL使用社群,而非局限在Aurora用户。任何人能够参与这项软件开发计划,并加入更多功能,届时BabelfishforPostgreSQL将采用Apache2.0的授权模式,让各种企业或组织基于这样的授权条款,能够自由使用、散播、修改,相关的工作与规划都会公布在程序代码协作平台GitHub。
发布新版数据库无服务器应用服务,能更快扩展执行规模
在年,AWS的无服务器数据库应用服务AuroraServerless正式推出,虽然用户不需自行管理数据库容量,但有越来越多的情况,需要快速、更精确地扩展数据库容量,例如,执行更多生产环境的工作负载,以及运用Aurora的多种功能,像是激活多个可用区域(Multi-AZ)实现高可用性、构建全球数据库来达到低延迟、运用读取副本(ReadReplicas)以获取高性能、采用时间回溯(Backtrack)来快速恢复,或是提供平行查询来加快查询速度。此时,用户若要扩展AuroraServerless数据库容量1倍,每次需耗费5到50秒。
而在即将推出的AuroraServerlessv2,能在1秒以内大幅扩展数据库工作负载规模,使其能够处理数十万笔交易。相较于现行每次在工作负载需要扩展规模时增加1倍容量的做法,AuroraServerlessv2会根据应用程序的需求来细部调整每次增益的容量,提供最合适的数据库资源容量。
而且,此时用户只需根据他们使用的容量,来支付服务费用。
若是对照基于尖峰容量而配置的数据库资源,由于难免会有过度提供或闲置的状况,而如今AuroraServerlessv2能够变动态扩展与缩减执行规模,在数据库服务的使用上,有望节省更多成本。
而有了这类精细扩展规模的能力,AuroraServerless预计可支持更多种企业应用系统的需求,甚至也适用于软件即服务(SaaS)供应商,能因应于多租户环境,以及本身需管理大量关系型数据库的环境。
针对用量起伏较大的关系型数据库云计算服务应用,例如线上抢票或暴量商品或服务订购,AWS原本就有AuroraServerless的执行模式,今年推出第二版的功能,能在更短时间内扩展与缩减数据库执行容量规模,最低可扩展0.5个数据库容量单位(AuroraCapacityUnit,ACU),最高可到个ACU。(图片来源/AWS)
提供更多加速数据仓库查询的应用服务与功能
在大数据分析的应用上,AWS旗下有多种云计算服务,可针对不同用途的资料处理需求,例如,Athena能用于无服务器形态的资料查询(以SQL语法分析存放在S3的资料);ElasticsearchService可用于资料搜索与图表化呈现(集成Elasticsearch、Logstash、Kibana);Kinesis能处理即视频流媒体与时资料流;Redshift专攻数据仓库;EMR可执行多种大数据框架软件的工作负载,像是Spark、Hive、Presto、Flink、HBase;Glue提供无服务器执行形态的资料准备服务;QuickSight则是支持商业智能分析应用的服务。
而在今年全球用户大会期间,AWS特别针对其中三项服务,也就是Redshift、Glue、QuickSight,发布新的消息。
AQUAforAmazonRedshift
首先是去年发布的分布式硬件加速缓存技术AQUAforAmazonRedshift,在今年12月开放预览版试用,预计在年1月正式推出,而且将依附在RA3执行实例其中免费提供,因此,租这项服务的用户不需变更程序代码,即可享受到AQUA的好处。
GlueElasticViews
第二个则是针对资料汇集的需求,AWS在Glue这项无服务器ETL资料准备服务其中,即将推出名为ElasticViews的集成功能,目前已发布预览版,用户可通过具现化查看表(materializedviews)的构建,而能运用多种来源资料。基本上,这项功能可横跨存储系统、数据仓库、数据库等多个人信息料存储服务,执行自动结合与复制资料的作业。
为了要汇聚分散在多个人信息料孤岛上的内容,虽然我们可以构建资料湖来进行集成,但考虑到访问延迟与实际IT运营挑战,放置在专属存储的资料量仍在大量增加,因此,企业仍须在这些分散或集中的存储服务之间,进行资料搬移(DataMovement)的工作,而在GlueElasticViews其中,用户可使用SQL语法,针对想要从不同来源存储服务复制资料、进行汇总,以便创建具现化查看。
而除了将不同来源数据库的内容复制到目标数据库,GlueElasticViews还会自动更新目标数据库的内容──AWS会持续监控来源数据库的变更,并在几秒之内更新目标数据库,一旦某个来源的资料模型有变动,GlueElasticViews会主动警告开发人员,让他们更新手上的具现化查看来反映变更。
当然,Glue本身是无服务器架构的资料准备服务,GlueElasticViews可随着工作负载加重或减轻,自动扩展或缩减服务容量,确保目标数据库存放的具现化查看表内容,维持最新状态。
GlueElasticViews目前能汇集哪些数据源?AWS表示,可支持多种AWS环境的数据库云计算服务,像是NoSQL数据库DynamoDB、ElasticsearchService,关系型数据库RDS、数据仓库Redshift,以及资料存储服务,像是S3。
在资料分析之前的准备与汇集作业上,AWSGlue添加了ElasticViews的功能,可让企业运用SQL语法来创建虚拟资料表,以此来结合与复制多个来源的资料,而在这其中,使用了AWS在年推出的SQL兼容查询语言PartiQL,可支持DynamoDB、S3、Redshift等数据库与存储服务。(图片来源/AWS)
QuickSightQ
关于企业环境大数据处理需求,除了数据仓库、资料准备(ETL),另一个关键则是资料分析,对此AWS在年推出主打商业智能用途的QuickSight,年增设了机器学习与自然语言功能,名为MLInsights,用户可执行异常侦测、趋势预测,以及自动化内容分析陈述(Auto-narrative)。
在今年全球用户大会上,AWS发布另一项结合自然语言应用的资料查询功能,称为QuickSightQ,用户可针对所有现存的资料,在QuickSightQ的搜索框其中,以自然语言的问句形式键入内容,几秒钟之内就会得到答案(目前以英文为主,但AWS并未提及是否能以其他语言提问)。
值得注意的是,QuickSightQ支持自动完成的关键字词与商业用语建议功能,以及自动执行的拼字检查、缩写、同义词的比对,用户无需担心拼错字,或是资料确切的商业用语。这套云计算服务使用了深度学习与机器学习技术,像是自然语言处理、资料纲要理解、语义分析,支持SQL语法程序代码的产生,再以此产生能理解问句意义与商业资料关系的资料模型,用户就能很快地接收到高精准的回答,不必耗费几天或几周的时间等待资料模型构建完成之后,才能得到答案。
相较于BI团队构建资料模型、分析预先被决定好模型的资料集的做法,AWS认为,QuickSightQ并不会局限用户提问范围,而且查询分析的范围是全部的资料,可提供更完整、精确的解答。不过,在深度学习与机器学习的技术应用上,QuickSightQ使用的是预先训练的资料,而这些资料源自不同领域与产业,因此,QuickSightQ的自然语言处理,可被调校成理解复杂的商业语言。
关于提问与回答精准度的部分,QuickSightQ会从用户交互过程其中来学习,而能随着时间持续提升。此外,如果QuickSightQ无法理解用户输入的问题,他们也可以在搜索框,借由建议选项的下拉式菜单来得到提示、引导问题的描述,而在下一次查询交互时,QuickSightQ会记住这词汇,提示给用户选择。
为了简化企业将SQLServer搬迁至数据库云计算服务Aurora的工程,AWS发布了BabelfishforAuroraPostgreSQL的功能,可让SQLServer专属的相关应用程序,在少量或不需修改程序代码的状况下,移植到Aurora执行。同时,他们也宣布将在年发布BabelfishforPostgreSQL开放源码项目,让更多PostgreSQL系统也能具备这项功能。(图片来源/AWS)