ayx爱游戏ayx爱游戏从大数据概念首次提出,到全球经济迈入数智化时代,Amazon Redshift 云数仓支撑企业应用走向现代化数据架构,已有十年历史。回顾过去,Redshift 围绕数据分析、高可靠ayx爱游戏、高可用等方向,经历了哪些重要迭代 ? 2022re:Invent 最新推出的 Zero-ETL 简化数据管道 理念,背后包含哪些技术逻辑?
接下来,让我们站在新十年的起点,一起去感受以 Redshift 为核心的数据技术带来的变革!
src=这 10 年,我们一直从客户需求出发,不断完善产品功能,提升应用性能。比如:客户希望融合湖仓的能力,在仓中能够直接查询 S3 数据湖中的数据。 亚马逊云科技数据分析专家 潘超,具体介绍了 Redshift 的演进历程。
早在 2017 年,Redshift 就推出了 Redshift Spect,提供了湖仓融合能力。2019 年,Redshift 推出 RA3 类型的节点,存储和计算完全分离各自独立扩展,帮助客户节省成本的同时;也给 Redshift 的架构带来极大的扩展性和灵活性。之后,Redshift DataSharing 应运而生,用户可以实现数据的生产和消费分离,可以在不移动数据的情况下实现跨集群、跨账号、跨 Region 数据的共享。
2021 年,Redshift Serverless 的发布,带来了云原生数仓的极致体验,客户不用再关注底层计算资源的扩展,可按需付费,简单易用。Redshift Serverless 将计算资源抽象为 RPU,会根据集群负载弹性伸缩,只在有查询的时候,按照 RPU 的使用时长计费,不查询不收费。使用起来非常方便,给到用户的就是一个 Endpoint,直接链接使用即可。可适用于负载有高有底有波峰、波谷的应用场景等。
以 DataSharing 举例,通过 DataSharing 客户能够做到跨账号跨 Region 的数据共享,做到读写分离,比如客户想要把 RDS 数据实时同步到 Redshift,做完加工处理后对外提供高并发的实时数据查询,我们可以将 RDS 数据实时摄入到 Redshift 的 Provision Cluster,之后将元数据 Share 给 Redshift Serverless 集群提供 BI 查询,整个过程只需要在控制台上点击几个按钮就可以实现。
同样,Auto-copy 对于客户来说,也是一个令人兴奋的新功能。Auto-Copy 简化了从 S3 数据湖中加载到 Redshift 的过程,它可以自动监控 S3 的数据目录的变化,将新增的数据文件自动加载到 Redshift 中 , 无需依赖任何组件,只需要一个 SQL 语句就可以完成。
Redshift 所有功能创新,均源于用户的业务场景。Redshift 的应用场景包括四大块:1. 常规业务运营与 BI 分析;2. 实时数仓分析;3. 查询、报表与数据分析,就是 OLAP 的一些应用查询;4. 机器学习与分析预测。目前,全球有数万用户在使用 Redshift 进行数据分析,这些用户来自游戏、金融、医疗、互联网等各个行业。
通过 Zero-ETL,直接实现了从 Aurora 存储层到 Redshift 存储层的数据转换,并且无需依赖任何组件,性能和实时性都有更好的保证,这是两个云原生产品的融合。 潘超进一步解释了 Zero-ETL 诞生初衷。
对于大多数企业而言,要想让关系数据库的数据实时进入数仓中做 AP 查询,通常会使用 CDC 工具实时解析数据,再用计算引擎将数据写入到仓中,同时要更新对数据进行 Merge 操作,整个过程比较复杂,还要依赖多个组件才能完成,给开发和运维带来了极大挑战。采用云原生产品融合的方式,则可以各自完成自己专业的事情,让数据在分析服务之间无缝流转。
Zero-ETL 其实秉承的是亚马逊云科技一直以来的产品理念,那就是化繁为简,实现从 0 到 1 的技术突破后,再努力消除从 1 到 0 的琐碎。而从云原生数仓层面看,Zero-ETL 的本质是,让数据在仓、湖、数据库之间无缝流转,而无需关注复杂的数据管道建设问题,让客户全心投入到业务中去。
当数据进入到 Redshift,数据分析与交互工作才正式开始,对于有着复杂业务数据逻辑的企业来说,更希望通过 Redshift 去简化业务流程,同时可以无缝构建和运行 Apache Spark 应用程序。
在 2022re:Invent 大会上,Adam 宣布 Amazon Redshift 与 Apache Spark 深度集成,以帮助数据工程师构建和运行 Spark 应用程序,这些应用程序可以从 Amazon RedShift 集群消费和写入数据。 潘超强调,聚焦数据战略,亚马逊云科技的产品虽自成一体,但也会拥抱开放,与开源生态深度集成。
同时,Redshift 也会跟开源、第三方合作伙伴的工具无缝集成。比如:加强了 Redshift 和 Spark 的融合,Glue 和 EMR 都集成了最新研发的高性能 Spark Redshift Connector,更有效地提供谓词下推ayx爱游戏、临时文件列存等特性,相比开源 Connector 有 10 倍以上的性能提升。
过去,如果你在 EMR 工作,可以使用 Spark 对数据进行分析,但如果你想对 Redshift 中的数据运行 Spark 查询,你必须将数据迁移到 S3,或者配置使用开源的 Spark Redshift 连接器 , 整个过程比较繁琐。最好的方法是,只在 Redshift 上就能对数据运行 Spark 查询。
Amazon Redshift 和 Apache Spark 的集成后,能最大限度地减少设 Spark 和 Redshift 开源连接器的繁琐过程(且通常是手动过程),并减少了执行分析和 ML 任务所需的准备时间。比如:你正在使用亚马逊云科技的分析和机器学习 ( ML ) 服务(Amazon EMR、Amazon Glue 和 Amazon Sagemaker),那么现在可以构建 Apache Spark 应用程序,从 Amazon Redshift 数据仓库中读写数据,而不会影响应用程序的性能或数据的事务一致性。
答案是,二者并不矛盾!很多客户需要更加实时的数据摄入,比如:风险监控及风控指标管理、游戏用户行为分析等等,Streaming Ingestion 解决的是通过在 Redshift 执行一个 SQL,即可完成 MSK 和 KDS 的数据实时摄入到 Redshift,将数据摄入延迟降低到秒级别,减少额外组件维护,减低成本。如果客户需要实时计算,依然可以选择 Flink 或者无服务器的托管 Flink(Amazon Kinesis Data Analytics)。但如果客户是要做实时分析,那么 Streaming Ingestion 是一个很好的选择。
借助 Redshift 提供的 Streaming Ingestion,用户可以非常方便地可以将消息中心的数据接入到 Redshift,中间无需依赖任何组件,执行 Redshift 标准 SQL 即可,整个过程自动摄取,降低数据入仓摄入延迟和维护成本。
对于实时查询能力,Redshift 有 Auto Tuning 的功能,比如排序键,分布键,每列的压缩算法,自动物化视图等。Redshift 依靠自己内部的机器学习算法,会自动去做一系列的动作,用户不再需要特别关注数仓性能的调优,只关注业务逻辑即可。
Redshift 也提供了联邦查询能力,用户可以直接通过 Redshift 直接查询 RDS 和 Aurora 中的数据,获取实时数据,而不需要数据加载过程。
换言之,Redshift 具备了实时数仓所需要的数据的实时摄入和实时查询能力,这种简化数据管道以及深度集成的方式,可有效支撑各个业务场景需求,让企业在特定的实时场景下不再需要移动数据,也不再需要构建和管理任何连接器。
总之,在亚马逊云科技整体的数据战略部署中,Redshift 占有重要地位。在简单、易用、高性价比优势背后管道资讯,其实体现的是 Redshift 一路创新与持续迭代带来的成果。