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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云原生数据仓库AnalyticDB MySQL版,8核32GB 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,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
7天前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
57 5
|
2月前
|
存储 消息中间件 Kafka
数据仓库分层架构
【5月更文挑战第21天】一个数据仓库的分层架构,包括缓冲层、操作数据层、明细数据层、汇总数据层和数据集市层。
|
2月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
2月前
|
消息中间件 监控 API
在Python中如何实现微服务架构,及相关的服务间通信方案?
Python微服务架构涉及服务划分、注册发现、通信协议选择(如HTTP、gRPC、消息队列)及服务间通信实现。每个服务应自治,有独立数据库和部署流程,并需考虑容错(如分布式事务、重试、熔断)和监控日志。API网关用于请求管理和路由。实际操作需根据需求和技术栈调整,并关注服务拆分和数据一致性。
66 5
|
2月前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
100 0
|
2月前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
159 0
|
2月前
|
缓存 前端开发 小程序
【分布式技术专题】「架构设计方案」盘点和总结RBAC服务体系的功能设计及注意事项技术体系
【分布式技术专题】「架构设计方案」盘点和总结RBAC服务体系的功能设计及注意事项技术体系
59 0
|
2月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
101 1
|
20小时前
|
运维 监控 负载均衡
探索微服务架构的演变与最佳实践
【6月更文挑战第30天】微服务架构作为现代软件开发领域的一个热门话题,其发展经历了从萌芽到成熟的多个阶段。本文将深入探讨微服务架构的演变历程,包括其定义、核心原则以及与传统单体架构的对比。同时,文章还将分享一系列经过验证的最佳实践,帮助开发者在构建和维护微服务时避免常见陷阱,确保系统的可扩展性、灵活性和可维护性。
19 1
|
1天前
|
负载均衡 Java 开发者
Spring Cloud微服务架构中的配置管理与服务发现
Spring Cloud微服务架构中的配置管理与服务发现