云上数据仓库的架构方案|学习笔记(二)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 快速学习云上数据仓库的架构方案

开发者学堂课程【数据仓库 ACP 认证课程云上数据仓库的架构方案】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/928/detail/14629


云上数据仓库的架构方案


假设客户有流失的风险,可能要调整运营策略或发一些代金券去挽留客户,所以,假设基于AnalyticDB怎么实施用户画像:

WITH tbase

AS

SELECT vipid,

rval,

fval,

mval,

max(rval) over() rval_max,

min(rval) over() rval_min,

max(fval) over0 fval_max,

min(fval) over0 fval_min,

max(mval) over) mval_max,

min(mval) overo mval_min

FROM(

SELECT vipid,

max(col_num_012) rval,

count(1)fval,

sum(col_num_oo5) mval

FROM   vip_behavior256 a

WHERE   a.col_num_0o1 > 995

GROUP BY vipid) a)

以上是人群圈选的逻辑,select max某个字段,是个时间,表示最近一次购买的时间或者最近一次登录的时间,count是指它的频率,sum是指它的金额,我们还需要做规划处理。

下面是规划处理:

SELECT vipid,

CASE

WHEN rval > rval_avg ANDfval > fval_avgANDmval > mval_avg THEN’重要价值客户’

WHEN rval < rval_avgANDfval > fval_avgANDmval > mval_avg THEN‘重要换回客户’

WHEN rval > rval_avg ANDfval < fval_avgANDmval > mval_avg THEN‘重要深耕客户’

WHEN rval < rval_avg ANDfval < fval_avgANDmval > mval_avg THEN‘重要挽留客户’

WHEN rval > rval_avg ANDfval > fval_avgANDmval < mval_avg THEN‘潜力客户’

WHEN rval > rval_avg AND fval< fval_avgANDmval < mval_avg THEN‘新客户’

WHEN rval < rval_avg ANDfval > fval_avgANDmval < mval_avg THEN’—般维持客户’

WHEN rval < rval_avg AND fval< fval_avgANDmval < mval_avg THEN’流失客户’

以上是规划的逻辑,相当于定义多少是高频,多少是低频。通过一个select语句可以完成圈选和洞察,判断客户是什么类型。因为要求实时性,出现了许多海量数据实时分析的产品,使得现在我们可以进行实时人群画像。

 

四、基于 AnalyticDB 构建实时数据仓库

1.AnalyticDB 构建实时数仓构建大图

image.png

实时数仓重要的一个点是数据的新鲜度是实时的,而不是像传统数仓,传统数仓本质上是t+1的数据抽取,它的数据不是实时的,所以构建实时数仓的前提是先将数据链路变得实时化,这就依赖于DTS,DTS就把数据实时的传到一个数仓上面。

当然还可以用DMS/Dataworks这样数据集成类的产品去做数据的抽取。除了数据库里的数据,还有一个非常重要的数据类型,是日志数据。还有一些流计算,要通过实时投递或者实时写入实时数仓类的产品里。

2.DTS 实时同步

数据传输(Data Transmission ) DTS的数据同步功能旨在帮助用户实现两个数据源之间的数据实时同步。

DTS通过解析数据源的增量日志,如binlog,将增量实时同步到AnalyticDB中。

image.png

3.SLS 实时投递

刚刚讲到实时数仓面向不一定是关系型数据,还有一类的数据是日志数据,这里讲的是阿里云的一个日志服务产品SLS,现在称LogService

通过阿里云日志服务广泛的日志采集能力,加上AnalyticDB内建的灵活可定制的ETL能力,进行数据湖投递、处理、分析。比如通过SLS去各个语言端抓取实时生成的日志,然后进行自动投递,将其投递到AnalyticDB里面或者对象存储上,然后利用AnalyticDB对它进行实时数据清理加工。

image.png

4. DMS 企业版数仓开发与调度

数据管理( Data Management ) DMS的数仓开发旨在为用户提供数据集成、加工、可视化和价值挖掘的一站式开发平台。

提供任务编排、数据仓库两种开发模式,均可以实现周期调度,满足用户不同应用场景的数仓开发需求。

(1)DMS数仓开发-数据迁移实现增量流程

①创建任务流——设置任务基本信息

②创建数据迁移节点——设置源数据

设置目标为AnalyticDB

通过数据迁移实现

③编排任务——DAG任务节点顺序

前置依赖

试运行

指定时间运行

④配置调度——调度类型

调度周期:月、周、日、小时、分钟

调度时间

⑤运维中心——执行日志查看、终止、重跑、暂停、恢复、置成功

(2)DMS数仓开发-跨库SQL增量流程

①创建任务流——设置任务基本信息

②创建跨库SQL任务

设通过DBlink获取数据

数据抽取SQL,设置增量变量

变量格式定义

③编排任务

DAG任务节点顺序

前置依赖

试运行

指定时间运行

④配置调度

调度类型

⑤运维中心

执行日志查看、终止、重跑、暂停、恢复、置成功

 

五、GIS 地理数据分析的最佳实践

GIS 地理数据分析在进行实时分析的优势是不好的,原因有以下几点:

image.png

数据结构复杂多样难以管理

数据动态变化要求更高维度计算

大数据和大计算场景性能不佳

智能化需要多模态数据融合管理

面临挑战:

image.png

多源性——时空数据来源多样化、非结构化——一体化管理(多模数据组织)

动态性——目标对象的状态是变化的——时空建模(表达、索引)

巨量——亿级、十亿级、百亿级——计算效率(弹性、性能)

智能化——数据库+大数据+智能分析——知识发现(规律、趋势)

1.案例背景:

地理信息与农业大数据综合服务提供商

GIS亿级大数据量查询与分析80%以上从事

技术类工作

●境内累计申请技术专利百件以上

●稳定、安全、可靠的数据库运行环境

●支持海量瓦片数据的存取

●支持时空数据索引

image.png

2.解决方案

GIS地理数据分析方案

●内置支持空间数据库引擎PostGIS和强大的GanosBase时空引擎,可以实现实时的定位及路径规划,以及对空间/时空数据进行高效的存储、索引、查询和分析计算。

在应用程序中使用简单的SQL,配合GIS函数操作,即可处理复杂的空间地理数据模型(支持2D及3D处理) 。image.png

得益于云原生数据仓库AnalyticDB PostgreSQL版的OLAP数据综合分析能力,用户更可以实现基于地理信息的海量数据分析工作,为物联网、移动互联网、物流配送、智慧出行(智慧城市)、LBS位置服务、020业务系统等提供强大的决策分析支持。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
|
11月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
961 81
|
存储 NoSQL 关系型数据库
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
MPP架构数据仓库使用问题之Visibility bitmap表被删除的文件信息是如何记录的
|
8月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
存储 弹性计算 缓存
MPP架构数据仓库使用问题之ADB PG对于写入时的小文件问题该如何解决
MPP架构数据仓库使用问题之ADB PG对于写入时的小文件问题该如何解决
|
SQL 算法 关系型数据库
MPP架构数据仓库使用问题之ADB PG对于sort scan算子要如何生成并优化
MPP架构数据仓库使用问题之ADB PG对于sort scan算子要如何生成并优化
|
缓存 Cloud Native 关系型数据库
MPP架构数据仓库使用问题之Calcite 是一个什么样的类库,它主要用于什么地方
MPP架构数据仓库使用问题之Calcite 是一个什么样的类库,它主要用于什么地方
|
缓存 Cloud Native 关系型数据库
MPP架构数据仓库使用问题之DADI的文件异步预取机制是怎么工作的
MPP架构数据仓库使用问题之DADI的文件异步预取机制是怎么工作的
|
存储 缓存 安全
MPP架构数据仓库使用问题之DADI相比其他方案,在资源使用上有什么优势
MPP架构数据仓库使用问题之DADI相比其他方案,在资源使用上有什么优势
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的