阿里云大数据体系(实时、离线、流式)和案例

一、阿里云数据引擎发展

核心产品:maxcompute(ODPS)、AnalyticDB、Hologres 

maxcompute:偏离线

AnalyticDB、Hologres:实时

blink、flink:流式

都是列存储

对大型企业通常 maxcompute+Hologres、或者 maxcompute+AnalyticDB,maxcompute处理非结构化数据,结构化后存储到AnalyticDB、Hologres 提供进一步的实时分析

对小型应用,可以把mysql数据直接导入AnalyticDB 或者 Hologres,提供实时分析

二、最佳实践

https://ucc-private-download.oss-cn-beijing.aliyuncs.com/018aa9e2130747889595061866eea87b.pdf?Expires=1713154700&OSSAccessKeyId=LTAIvsP3ECkg4Nm9&Signature=vyEZsI5O8WVJ1PGDlfln7N1t3bo%3D

三、案例

小红书推荐大数据在阿里云上的实践
 

核心引擎
MaxCompute
阿里离线数据计算平台(离线数仓)

原名ODPS,阿里巴巴自主研发的海量数据处理平台

MaxCompute处理存储在Table Store的数据(不负责收集数据到Table Store中),

使用Fluentd服务(类似的服务还有kafka、LogHub、DataX等,都大同小异,这里我用Fluentd作描述只是方便),通过Fluentd我们轻松的创建任务去按时读取各台服务器上的日志文件。简单点说就是你只需要配置服务器上日志的路径,Fluentd就帮你把日志存储到MaxCompute的Table Store中,然后你就能愉快的通过MaxCompute分析数据了。

习惯称MaxCompute 的Table Store的实例为 MaxCompute table(表)

MaxCompute Table只支持添加数据,不支持删除与修改数据。

分区信息可以创建很多个,但是在导入、导出、某些特殊查询时要带上完整的分区名称,不支持前缀等模糊匹配

Java的编程接口M和axCompute客户端命令都可以完成本地文件导入MaxCompute存储:(引用 阿里云大数据分析师ACP认证21--阿里云大数据平台MaxCompute简介_哔哩哔哩_bilibili)

实时增量数据通道(DataHub)支持MaxCompute实时增量数据的导入

MaxCompute支持的计算及分析任务的方式:SQL、UDF、Graph、MapReduce、Spark On MaxCompute(这些方式都是操作表)。

MaxCompute数据的组织方式:Project项目空间、Table表、Partition分区

MaxCompute表分内表和外部,外表不是自身存储的表(比如可以管理的oss数据等,只是存有对应的元数据信息,相当于外部介质存储表的一个link)

MaxCompute可以对哪些外部数据源创建外表呢?(这情况获取可以直接离线使用数据,不需要同步过来了)

MaxCompute单表分区层级最多6级;单表最多分区数上限6万;单次查询使用分区上限1万;分区字段不能是中文;

MaxCompute生命周期:CirleLife,只能表级别设定生命周期,不能设置分区级别的。但是回收是按照分区执行。

E-MapReduce
开源离线大数据计算平台,EMR 存储对应的是Hive

Hologres
Hologres是阿里云计算平台事业部出品

交互式分析,实时数仓,融合了实时服务和分析大数据的场景

隶属于MaxCompute产品,支持MaxCompute加速,实现MaxCompute实时服务和分析大数据

Hologres 可以加速OSS

Hologres自研存储引擎Storage Engine(SE)

Hologres是阿里云自研开发的HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统 ,融合了实时服务和分析大数据的场景,全面兼容PostgreSQL协议并与大数据生态无缝打通。

Hologres 又一说法是 MaxCompute BI加速版

支持行存储(关系型)和列存储两种存储模式(即可支持OLTP 和OLAP两种),格式可以通过“orientation"来指定。

数据存储在阿里云分布式文件系统pangu中(类比开源HDFS)

Hologres作为实时数仓存储成本大约是ADB的1/3。资源灵活性高,可以像MaxCompute一样灵活的升降配置

GraphCompute
图形计算

ElasticSearch
搜索引擎+数据分析引擎

AnalyticDB for MySQL(简称ADB)
AnalyticDB是阿里云自主研发的一款实时分析数据库

AnalyticDB是在线的分布式数据库,所以多了弹性计算单元(Elastic compute units简写ECU)、表组和分区的概念。

MySQL的数据库是由表组成的,而AnalyticDB的数据库是由ECU组成。

AnalyticDB的表又分为维度表和普通表,维度表指带有维度概念的表,可以和任何普通表进行关联;普通表指分区表,针对分布式系统查询而设计的表。

聚集列:AnalyticDB中,数据存储支持按一列或多列进行排序(先按第一列排序,第一列相同情况下使用第二列排序),以保证该列中值相同或相近的数据保存在磁盘同一位置,这样的列我们称之为聚集列。

ADB支持:把数据存储在不同层级,并能够自动在层级间迁移数据的分层存储技术。

ADB控制冷热数据的操作方法:在用户建表时指定存储策略(storage_policy)来精确关联业务上的冷热数据和分层存储中的冷热存储

ADB冷数据存放在HDD(OSS),热数据放在SSD;冷数据可以使用 SSD Cache加速

Hologres 和Maxcompute 关系
Maxcompute 适合存放:ODS、DW层数据

Hologress 适合存放 ADS层数据

一套生态体系,冷热数据分层存储(Hologres+MaxCompute)

AnalyticDB和Hologress关系
ADB是阿里云数据库事业部团队提供的云原生数据仓库AnalyticDB MySQL版

Hologres是阿里云计算平台事业部出品

一款是AnalyticDB for MySQL,一款是Hologres。ADB是阿里云数据库事业部团队提供的云原生数据仓库AnalyticDB MySQL版,是阿里巴巴自主研发的海量数据实时高并发在线分析云计算服务。Hologres是阿里云计算平台事业部提供的一款全面兼容PostgreSQL协议并与大数据生态无缝打通的实时交互式分析产品。从实际业务场景出发,两者的主要区别有以下几点:

1)与MaxCompute的打通性

Hologres:与MaxCompute打通,可以直接通过外部表读取MaxCompute数据进行查询分析,无需存储就能查询。

ADB:能加速查询MaxCompute,提供复杂交互式分析、实时混合数据仓库等多种场景。

2)成本方面

从我们每年ADB和Hologres的的单价上对比,Hologres成本相比ADB略微低。

3)灵活度

均能满足OLAP场景,Hologres兼容兼容PostgreSQL生态,ADB坚兼容MySQL协议,均能满足实时和离线批量的数据导入和分析。

4)性能

以下是Hologers的测试性能,数据量和大小均以MaxCompute的存储格式为准,没有进行一些特殊的索引和优化处理。

|  数据量              |   测试项                    |   响应时间
|  4600W(20.64GB)     |    SUM                      |   2.7s
|  2300W(5.04GB)      |    SUM                      |   1.1
|  4600W(20.64GB)     |    COUNT                    |   2.5s
|  2300W(5.04GB)      |    COUNT                    |   1.0s
|  4600W(5.04GB)      |    COUNT(distinct)          |   2.8s
|  2300W(5.04GB)      |    COUNT(distinct)          |   1.6s
|  4600W(20.64GB)     |    AVG                      |   1.7s
|  2300W(5.04GB)      |    AVG                      |   0.9s
|  4600W(20.64GB)     |    ROW_NUMBER               |   2.6s
————————————————
https://blog.csdn.net/weixin_43970890/article/details/109384113

背景知识
数据仓库
1 数仓三层架构

(牺牲空间换取计算时间,冗余)

1) ODS(运营数据层、贴源层)

2) 数据仓库层[中间层](DWD、DWS)

3) ADS(数据应用层ES等数据)

2 数仓四层架构

ODS=>DWM(DWD/DWS)=>TDM=>ADM

将数据分为ODS(原始数据)层、中间数据层 (DWD/ DWS)、TDM(标签数据)层、ADM(应用数据集市)层。

ODS(原始数据)层
业务流程数据,与业务系统基本保持一致,仅做简单整合、非结构化数据 结构化处理或者增加标识数据日期描述信息,不建议做深度清洗加工。

DWD(明细数据)层
全历史业务过程数据,按照业务的易理解的视角重新组织,核心是标准、 统一,可以还原历史任何时刻的业务状态,建模的关键层。

TDM(标签数据)层
面向对象,把跨业务板块、跨数据域的特定对象数据进行整合,形成对 象的全域标签体系,方便深度的分析、挖掘、应用,与数据集市建设方 法类似,特点是有大量算法标签。大数据魅力在这一层体现。

个人理解:就是发掘出特征的数据

ADM(应用数据集市)层
数据集市层,面向应用,根据应用的需要组织数据,一般是使用维度建 模方法,有时会因为业务的特殊诉求违反建模规范。

2 数据仓库和数据库的区别

数据库操作: OLTP

数仓的操作:OLAP

比较项    操作型(OLTP)    分析性(OLAP)
关注    细节    综合或提炼
模型    实体 – 关系(E-R)    星型或雪花
操作    可更新    只读,只追加
操作粒度    操作一个单元    操作一个集合
场景    面向事务    面向分析
数据量    小    大
需求    日常操作    决策需求
业务方向    客户信息、订单等查询    客户登录间隔时间,市场细分等
DW模型大类:动态模型、事件模型和时序模型

每种模型都会对应不同的存储。

动态模型:对实时的数据进行汇总统计,适合做实时的统计指标分析,比如实时的业务办理量,一般可存储于Kafka和Hbase。

事件模型:把实时的数据抽象成一系列业务事件,比如从位置日志轨迹中记录用户的位置变更事件,从而可以触发LBS的位置营销,以下是典型的位置事件模型设计,一般可存储于MQ和Redis:

时序模型:主要保存用户的在线的时空位置等信息,可以基于业务场景需要进行各种快速的计算,比如非常方便的计算驻留时长,存储于Hbase或TSDB(时序数据库)

数据模型三个领域:

B域(业务域)=business support system的数据域

O域(运营域)=operation support system的数据域

M域(管理域)=management support system的数据域

对中台概念的理解
数据中台:

1)即不是一个平台,也不是一个系统。

2)可以先把中台看作是一种中间层。是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念

目标:数据中台的出现,就是为了弥补数据开发和应用开发之间,由于开发速度不匹配,出现的响应力跟不上的问题。

主要解决问题

1 效率:支持快速数据应用开发(比如可以快速开发个报表应用),大数据实时分析,数据血缘回溯快捷

2 协作:当业务应用开发的时候,虽然和别的项目需求大致差不多,但因为是别的项目组维护的,所以数据还是要自己再开发一遍。

3 能力:数据的处理和维护是一个相对独立的技术,缺少专业数据处理专家

Data API 

1)数据中台的核心,它是连接前台和后台的桥梁,通过 API 的方式提供数据服务,而不是直接把数据库给前台。

2) 至于产生 DataAPI 的过程,怎么样让 DataAPI 产生得更快,怎么样让 DATA API 更加清晰,怎么样让 DATA API 的数据质量更好,这些是要围绕数据中台去构建的能力。

阿里数据中台的三大体系
阿里云上数据中台内核能力框架体系:产品+技术+方法论。

OneService:统一服务 复用而非数据复制

OneData:统一数据化建设 & 统一数据化标准,数据资产化管理能力

OneEntity:统一实体(企业、商品、设备等)连接识别与标签画像提高生产能力

OneData=>OneService

OneEntity=>OneService

OneData=>OneEntity

数据中台技术领域

数据模型领域、存储治理领域、数据质量领域、安全权限领域、平台运维领域、研发工程领域

  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zlingh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值