百摩网
当前位置: 首页 生活百科

亚马逊无货源模式怎么去精细化(亚马逊云科技实时数仓的场景剖析与架构搭建实战)

时间:2023-07-15 作者: 小编 阅读量: 6 栏目名: 生活百科

Lambda架构为了解决延迟高的问题演进了Lambda架构,Lambda架构的设计是为了在处理大规模数据时发挥流处理和批处理的优势。通过批处理提供全面、准确的数据,通过流处理提供低延迟的数据。数据聚合层数据处理之后提供给应用层进行API接口服务、报表展示等。④秒级创建,秒级删除,比使用kafka更容易,不需要搭建集群和维护集群。⑤行列级别的权限控制。Leader节点管理跨Compute节点的数据分发和查询执行。AQUA缓存可横向扩展,并可跨众多节点并行处理数据。

导读:无论是架构师还是工程师,在开始埋头实战之前,都需要了解的未来数据平台的一些趋势。本文主要介绍Amazon实时数仓架构以及Amazon提供的实时数仓服务,如何基于Amazon服务搭建的实时数仓架构;传统数仓-lambda-Kappa-数据湖的架构演进过程及典型数仓案例;Serverless、Redshift实时数据架构及优势。

今天的介绍会围绕下面四点展开:

  • 数仓架构演进
  • Amazon Serverless实时数据湖架构
  • Amazon Redshift更强劲的云原生实时数据仓架构
  • Redshift实时数仓 ML

01

数仓架构演进

从传统离线数仓架构到lambda架构、Kappa架构,以及数据湖架构,每一个数仓架构的演进都是在解决不同的问题,解决上一代数仓遗留下来的问题。

1. 数仓架构演进

  • 传统数据仓库架构

使用关系型数据库(比如Oracle、PG)直接做数据仓库,在海量数据集下性能比较弱,扩展性比较差,存储架构上存算耦合。为了解决传统数仓架构的性能弱、扩展性差的问题,演进了基于hadoop生态的离线数仓,Hadoop生态通过横向扩展能力提高了性能、计算能力、扩展性,但离线数仓仍然存在T 1延迟。如果数仓的某一个链路出现了故障,那么故障的恢复代价也是比较高的。

  • Lambda架构

为了解决延迟高的问题演进了Lambda架构,Lambda 架构的设计是为了在处理大规模数据时发挥流处理和批处理的优势。通过批处理提供全面、准确的数据,通过流处理提供低延迟的数据。Lambda架构要维护两套架构,开发运维成本相对较高,流和批数据一致性也很难保证。

  • Kappa架构

远比Lambda架构简单,将批处理改成流处理,通过kafka建仓,ODS层,DWD层,DWS层都在kafka上搭建。主要缺点是:第一,数据的回溯成本较高;第二,很难与OLAP引擎的结合。

  • 湖仓架构

hudi、iceberg 本身提供了ACID属性,提供upset(更新数据)能力,提供了time travel(时间线)能力、 schema evolution(对应半结构化数据结构定义的修改)能力,这些特性可以解决数据回溯成本高,OLAP引擎结合困难的问题,但是基于hudi数仓架构存在分钟级别的延迟,或者是小时级别的延迟。

2. 实时湖仓架构

  • 数据接入

有三类数据,包括移动端日志数据,业务端数据,关系型数据库的数据。关系型数据库中的数据(RDS)通过CDC工具将变更日志发送至kafka。

  • 数据存储

kafka将数据发送至hudi或iceberg,底层存储选择S3做存算分离,数仓各层都可以做OLAP查询。

  • 数据聚合层

数据处理之后提供给应用层进行API接口服务、报表展示等。

实时湖仓架构在数仓的每一层都可以做OLAP引擎,实现存算分离,存储与计算去做耦合,扩展各自的资源。

3. 实时计算

湖仓架构数据可以做到分钟级别的延迟,对于需要低延迟的场景,需要做到秒级甚至是毫秒级延迟的场景,如果数据落地无法实现秒级延迟,需要将源数据同步到kafka,通过flink本身的计算引擎进行计算,做完计算之后将数据存储至数据库,通过API直接去调用访问。

我们去做实时计算场景,需要考虑当前业务是不是真的需要做实时计算;通过实时计算带来的业务价值是什么,不要把实时计算和实时数仓柔和在一起。

4. Serverless的引入

上述实时计算的架构hudi flink在整个计算流程中,需要把整个架构搭建起来,运维的复杂度很高,系统的稳定性也都需要很大的精力去保障,如何做到更轻的运维,更好的弹性伸缩能力,更好的系统稳定性,更好的成本节省,更简易的配置,让我们的精力专注到业务系统上来,这就引入了Serverless服务,能够把架构能够变得更简单。

--

02

Amazon Serverless实时数据湖架构

1. Amazon Analytics Serverless

Kinesis Data Streams,是一个消息系统,是一个实时数据流服务:

① KDS 是HTTP协议。

② kafka有partition,KDS有Shard,每个shard提供了固定的吞吐大小,1MB/write,2MB/read提供了横向扩展能力,按照shard扩展读写能力。

③ On-demand模式,在Serverless的架构上,不在需要关注机器,当使用On-demand模式(按需的模式)时候,需要关注的就是进来的流量是多少,写进去的流量是多少,出去的流量是多少。

④ 秒级创建,秒级删除,比使用kafka更容易,不需要搭建集群和维护集群。扩缩容根据sharp弹性扩缩。

Kinesis Data Analytics是一个做数据分析的服务:

① 是托管的一个flink runtime。

② 预置计算资源、并行计算、自动扩展和应用程序备份(实施为检查点和快照)。

③ Studio可视化的开发Flink Job,一键部署上线。

④ 自动checkpoint管理。

Athena是一种交互式查询服务:

① 底层基于PrestoDB,OALP引擎。

② 扫描数据量收费,无需关注计算资源。

③ 无需预置费用,不使用不收费。

④ 支持hudi、Iceberg。

⑤ 行列级别的权限控制。

2. 无服务器实时湖仓架构

无服务器的实时数据库架构,数据链路与实时数据架构是相同的,选择Serverless的服务来承接这个链路,无服务架构是看不到集群,因此是零运维,资源可弹性扩缩,数据在S3上供持久的数据质保证,提供可视化的开发部署,监控报警灵活,配置直接继承。在无服务器的实时数据库架构中,我们更多的关注业务系统业务应用的开发,无需运维工作。

在无服务实时湖仓架构的基础上,我们还会思考架构设计能不能更简单,数仓能不能做到读写分离,数据跨region、跨账号共享等,为解决客户面临这些痛点演进出Amazon Redshift。

--

03

Amazon Redshift更强劲的云原生实时数据仓架构

1. Redshift分布式和群集服务

  • Redshift有两种类型的节点,Leader和Compute。Leader节点管理跨Compute节点的数据分发和查询执行。数据仅存储在Compute节点上。
  • Auto-scaling clusters 在高并发的场景下秒级弹出来与当前配置大小相同集群。
  • CAAS是一个Serverless compiler,所有SQL进入Redshift都会做编译,在集群之外是不可见的。
  • Spectrum沿用了 Amazon Redshift 的查询优化机制,可以生成高效的查询规划,即便面对诸如多表 join 或者带统计函数(window function)的复杂查询也能胜任。可以对多种格式的数据源直接查询–Parquet, RCFile, CSV, TSV, Sequence, Avro, RegexSerDe 等。
  • AQUA,Amazon Redshift的分布式硬件加速缓,针对数据分析的自研芯片。AQUA缓存可横向扩展,并可跨众多节点并行处理数据。每个节点都包含一个由亚马逊云科技设计的分析处理器组成的硬件模块,可以极大地加速数据压缩、加密和数据处理任务(如扫描、聚合和过滤)。
  • Data sharing clusters可以跨集群、跨region的数据共享。还提供了联邦查询功能,可以直接查关系型数据库中的数据。

2. Redshift 实时数据摄取能力

首先Redshift支持高达30万/秒的实时数据摄入能力;Redshift通过执行SQL语句就能数据加载至KDS中,不需要中间再架构一个计算引擎,对于整个架构设计,只需要一个SQL语句就能实现;update数据Delete Insert实现。第二,支持宽表、多表关联、复杂聚合等各种SQL查询。第三,通过super数据类型解析半结构化数据非常高效。

3. Redshift 实时数仓

Redshift架构:通过KDS将数据加载到Redshift,在Redshift中建ODS层、DWD层、DWS层,BI工具通过JDBC使用数据。这个架构上能够做到简单、快速、稳定。Redshift引擎在数仓上能够自动优化排序键(在过滤条件中自动选择键值排序更高效),自动选择每列的压缩算法,自动选择分布键值(数据在各个节点可以自动均匀分配),自动刷新表的统计信息等。Redshift都尽量做到自动化优化处理,使用者只需创建查询语句查询即可。

4.Redshift 实时数仓与实时计算

Redshift Streaming Ingestion与数据流引擎原生集成,实现快速流数据摄入。

  • 日志数据通过KPL或者Kinesis Agent发送到Kinesis Data Stream(KDS是Serverless服务,支持API方式扩缩容)。
  • 端到端秒级延迟的数据,通过KDA(Flink Runtime)消费KDS中的数据,经过流计算后的结果Sink到RDS或者KV对外提供API查询(KDA Flink Runtime是Serverless服务,KPU为计算单元,支持动态扩缩容)。
  • 通过Redshift Streaming Ingestion可以直接消费Kinesis到Redshift,直接创建一个Kinesis视图即可,秒级别数据延迟,30W/S吞吐(2kb size),小于30秒延迟。
  • 对于RDS中的数据,DMS支持CDC同步到Redshift中,MySQL开启Binlog, DMS同步Binlog信息到Redshift。Redshift支持Schema自动变更(比如源端增加列DMS Redshift会自动同步变更),同时DMS也支持跑批全量同步数据。
  • 可以通过DMS或者其他CDC工具(比如Debezium,Flink CDC等)将CDC数据发送到Kinesis,通过Redshift Streaming Ingestion 存储过程(Update=DeleteInsert)来进行CDC数据实时写入Redshift。

--

04

Amazon Redshift 实时数仓 ML

1. Redshift 实时数仓 ML

业务场景:通过游戏玩家数据预测玩家可能购买的道具推送给玩家购买。

该场景实现方式:KDS通过streaming 将数据加载至Redshift中,通过View的方式将用户的基本信息和道具的基本信息取出做拼接通过Redshift Model创建模型,模型通过训练返回结果。Redshift会自动选择算法训练模型。Redshift在训练模型的时候调用后台的SagerMaker Autopilot服务,该服务自动寻找最佳算法和超参数进行模型训练。训练后的模型会被自动部署为一个函数供直接使用。每天12小时训练一次模型。

2. Amazon Serverless 预览版

  • Amazon Redshift Serverless(Preview):Serverless 预览版将运维的工作交给云去做,我们更关注核心业务,做业务上的开发与应用,更简单地去云上的服务,随用随付费。Redshift 已有Serverless Preview版本,通过JDBC直接链接就可以使用。
  • Amazon EMR Serverless(Preview):EMR Serverless在云上构建hadoop集群,云上托管Hadoop集群,集群的运维管理工作需要自己承担。EMR Serverless Preview版本不需要在关注集群的管理。
  • Amazon MSK Serverless(Preview):MSK Serverless托管的kafka服务,无需关注计算资源,按照流量使用进行收费。

今天的分享就到这里,谢谢大家。


分享嘉宾:潘超 亚马逊云科技 数据分析专家

编辑整理:陈凯翔 亚厦股份

出品平台:DataFunTalk


01/分享嘉宾

潘超|亚马逊云科技 数据分析专家


8年大数据研发架构经验,企业任职从大数据研发>架构师>数据平台 Leader>CTO-SSA,对企业大数据平台的构建有丰富的实战经验。在大数据存储,离线及实时数据分析处理,OLAP 等技术上有深入的研究,在企业级用户画像、推荐系统等业务等场景上有丰富的经验。


02/关于我们

DataFun:专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100 线下和100 线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章700 ,百万 阅读,14万 精准粉丝。

    推荐阅读
  • 金弹子怎么养 金弹子怎么养才会结果

    平时可以将金弹子盆景放在光照充足的地方养护,夏季稍稍遮阴,冬季放在室内光线最好的地方。

  • 粉丝包子馅的做法(猪肉粉条包子做法)

    跟着小编一起来看一看吧!粉丝包子馅的做法主料:面粉300克3人份、猪肉馅200克、粉条1把、酵母粉3克。面粉里面放酵母,加清水和成面团,然后进行发酵。粉条放开水锅里煮软,捞出过凉水,淋干水分,稍微切成碎断备用。葱切葱花,姜和蒜也切末,炒锅内放油,油热后放蒜末、姜末和葱末爆香,关火。放入肉馅和粉条、葱花、盐、生抽、老抽、白胡椒粉、香油搅拌均匀成馅;把发制成两倍大的面团,搓成长条,分成若干小剂子。

  • 构成利用会道门致人重伤罪既遂怎么处罚?

    犯利用迷信致人重伤罪的,处三年以上七年以下有期徒刑,并处罚金。犯第一款罪又有奸淫的妇女、诈骗财物等犯罪行为的,依照数罪并罚的规定处罚。

  • 赴台自由行最新攻略(从环游记到)

    郑文钦参加第十四届海峡论坛。2007年,郑文钦正式踏上赴大陆就业、创业之路。张传明摄2009年起,郑文钦决定辞职创业。正是因为在大陆多元的经历,让郑文钦更加了解大陆的市场和台胞的需求,为以后成为一名“摆渡人”打下了基础。2016年,郑文钦随团队来到南京。在他看来,目前大陆处于从传统的世界工厂向世界市场的转型过程。对于两岸青年,郑文钦特别看重“携手”。

  • 露从今夜白月是故乡明是什么意思(怎么理解露从今夜白月是故乡明)

    露从今夜白月是故乡明是什么意思露从今夜白,月是故乡明”意思是:从今夜就进入了白露节气,月亮还是故乡最明亮。出自唐代杜甫的《月夜忆舍弟》,原诗如下:戍鼓断人行,秋边一雁声。露从今夜白,月是故乡明。有弟皆分散,无家问死生。寄书长不达,况乃未休兵。寄往洛阳城的家书常常不能送到,何况战乱频繁没有停止。在安史之乱中,杜甫颠沛流离,备尝艰辛,既怀家愁,又忧国难,真是感慨万端。

  • 自来水管接法 自来水管接法图片大全图片

    可用内丝/外丝铜箍卡住PXE管,然后用PP-R外丝/内丝直节与户内PP-R管道熔接,如管径有差异,可在中间变径。

  • 梦幻手游60级平民装备(梦幻手游因为看中海象)

    对于辅助门派来说,特技成为了关键的一环,而在众多特技中,罗汉的地位相当高。面对法系的冲击,罗汉能够有效提升队伍的抗性,因此也成为了很多氪金玩家的选择。虽然只是60级装备,但因为有"罗汉"的出现,也相当不错。在熔炼与器灵效果的加持下,人物属性会有一个较大的提升。

  • 流程图规范(word快速生成流程图)

    流程图是由点和线组成的面。要画出规范的流程图,最基本的就是流程图的形状要统一。流程图的命名要使用主谓结构,如“设备购买流程”。流程图的形状大小一致,统一字号。流程图从左到右、从上至下排列。流程处理关系为并行关系的,需要将流程放在同一高度。在弹出的对话框中,找到并点击“流程”选项,然后在右边找到喜欢的流程样式,点击确定,页面就会出现流程图。

  • 初中毕业可以学什么专业好(初中毕业生到底学什么专业好)

    如今,互联网已经渗透到各个行业,知识和技术才是一切竞争的基础。每年的互联网人才需求可以达到2000万人数,而且逐年增长中。如果对动漫感兴趣,还可以选择影视动漫专业,目前我国动漫行业正处于飞速发展阶段,人才需求量大。如果热衷于设计,建筑装饰等都可在你的选择范围之内!互联网行业薪资高、待遇好,是初中毕业生的理想选择!

  • 明日方舟(源石碎片怎么获得)

    下面内容希望能帮助到你,我们来一起看看吧!明日方舟源石碎片可以用来制作合成源石,但是只有污染区域才能收集到。物资筹备<资源保障>AP-AP-4常规掉落,Lv4制造站内制造源石碎片可以在某些特定地图中获得,或者制作站等级够高的话也可以直接拿普通石头和龙门币来制作。源石碎片还可以转化为合成玉和源石,在三级的贸易站就可以转化,转化比例为:一个源石碎片=20合成玉;9源石碎片=1源石。转化成的源石可以用来干员招募或者购买体力。