第十一章 数据仓库和商务智能 10分
11.1.0语境关系图
11.1 Q 建立数据仓库,有哪些步骤?如何建设?【6 个步骤非常重要!必须知道】
1. 理解需求(P)(目的明确,ETL)
(1) 考虑业务目标和业务战略。
(2) 确定业务领域并框定范围。
(3) 访谈,了解业务人员需求,问题及访问的数据。
(4) 掌握关键指标和计算口径。
2. 定义和维护 DW 和 BI 架构(P)
(1) 确定数据仓库/商务智能技术架构。
(2) 确定数据仓库/商务智能管理流程。
3. 开发数据仓库和数据集市(D)【建立表】
(1) 建立源到目标的映射关系。
(2) 修正和转换数据。
4. 加载数据仓库(D)
== (1) 工作量最大的部分。
(2) 延迟要求【时延决定了数据加载方法,实时加载/CDC/流数据加载】、源可用性、批处理时间窗口。
(3) 数据质量问题。==
5. 实施 BI 产品组合(D)【多给几个产品,自己编程、PowerBI、Rapidminer等】
== (1) 根据需要对用户进行分组。
(2) 将工具与用户要求匹配。==
6. 维护数据产品(O)
(1) 发布管理。
(2) 管理数据产品开发生命周期。
(3) 监控和调优加载过程。
(4) 监控和调优商务智能活动和性能。
11.2 OLAP&OLTP 差别【可能会考】
Q1:OLAP 和 OLTP 差别有哪些?【多选题】
A1:OLTP 用于日常交易处理,OLAP 用于查询、分析、决策;
OLTP 用于简单小事务,操作少量数据,OLAP 用于复杂查询、大量数据;
OLTP 数据一般为当前最新数据(实时),数据规模 GB,OLAP 一般为历史数据(批量),数据规模 TB-PB;
OLTP 一般满足三范式,OLAP 一般逆规范化,反范式,星型模型;
OLTP 用户一般为操作人员、低层管理人员,OLAP 一般为决策人员,高级管理人员;
OLTP 的 DB 设计为面向应用,OLAP 设计为面向主题;OLTP 软件技术为数据库,OLAP 软件技术为数据仓库。
Q2:index 索引(快速搜索)用在 OLAP 还是 OLTP?
A2:OLAP。
Q3:逆规范化,用在 OLAP 还是 OLTP?
A3:OLAP,OLTP 应满足 3NF。
用作 OLAP 的软件:Netezza,Hadoop,Hiva(开源,不建议用,性能很慢)。
三种经典的 OLAP 实现方法
1)关系型联机分析处理(ROLAP)。
ROLAP 通过在在关系数据库(RDBMS)的二维表中使用多维技术来支持 OLAP。星型架构是 ROLAP 环境中常用的数据库设计技术。
2)多维矩阵型联机分析处理(MOLAP)。
MOLAP 通过使用专门的多维数据库技术支持 OLAP。【数据量有限制,现在用的不多】。
3)混合型联机分析处理(HOLAP)。
ROLAP 和 MOLAP 的结合。HOLAP实现允许部分数据以 MOLAP 形式存储,而另一部分数据存储在ROLAP中。控件的实现方式各不相同,设计师对分区的组合也各有不同。
11.3 F2 数仓的主要组件有哪些?【主要 3 个】’
数据仓库:是一个由 源系统、数据集成 ETL 加载、数据存储区域 (必须:中央数据仓库,可选:ODS、立方体、数据集市、主数据、暂存区)等众多组件组成的数据管理系统。
11.4 商务智能
商务智能是一套完整的数据解决方案,旨在用来将企业中现有的数据进行有效的整合,快速提供的提供报表并提出决策依据,帮助企业做出明智的业务经营决策的一系列分析活动和技术应用,常见的应用包括统计分析、仪表盘、数据大屏等。
(以业务人员用数需求为中心:固定报表、指标多维查询分析、明细数据、管理层决策仪表盘、移动端可视化应用、数据挖掘模型应用、数据模板)。
Q:商务智能与数仓、大数据区别?
A:商务智能 BI 主要用作前端分析展现(统计分析、仪表盘、数据大屏)(powerBI)。
数仓是后台,主要用于管理后端数据(hive),数据仓库与商务智能不一样,数据仓库强调 BI。
大数据强调 AI。
涉及银行金融机构:客户领域、风控领域、运营领域。
新客户获取模型、客户交叉营销模型、客户细分明细模型、客户激活模型、客户价值提升模型、客户维挽模型、支付路径优化模型、客户经营能力分析模型、内部审计模型、客户信用风险预警模型、贷款控制点分析、盈利能力预测模型、网点选址模型。
11.5 F1Inmon 和 Kimball 关于数仓的差别有哪些?
Inmon(数据仓库之父)关系型,Kimball 多维性。
企业信息工厂(Bill Inmon):企业信息工厂是两种主要的数据仓库建设模式之一,是面向主题的、整合的、随时间变化的、包含汇总和明细的、稳定的历史数据集合。
多维数据仓库(Ralph Kimball):多维数据仓库是数据仓库开发的另一个主要模式,仓库数据存储在多维数据模型中,以维度和事实定义。
常见模型包括星型和雪花型等。
Q1:张三,2021 年,上海,卖出多少车,维度和指标?(多维模型)
A1:4 个维度(员工张三,时间 2021 年,地点上海,产品汽车),1 个指标(多少辆)。
Kimball 图更清晰(组件及组件之间的关系,需要了解血缘关系)。注意 kimball 图中,右侧数据访问工具至数据展示区的访问箭头,数据访问工具中区分 BI 和 AI,
BI:即席查询、报表撰写、分析型应用;
AI:模型预测、打分、数据挖掘。
考试暂时不用管上面 2 个图。
11.6 F4&Q 数仓、数据湖、数据中台的相同点和不同点有哪些?【重要】
数仓: 结构化数据进入数仓、ETL、业务场景是明确的,交付物对已经发生的事情的总结或展现,侧重 BI;(但也可以做 AI)国内企业100%。
数据湖: 结构化数据+非结构化数据进入数据湖,ELT,业务场景是不一定明确的,交付物对未知的预测或挖掘,侧重 AI;(也可以做BI)国内企业40%。
数据中台: 建设在数仓、数据湖之上,更多的是打标签、归类等工作,平台层数据在数仓、数据湖中,在此基础上,建设数据中台【阿里巴巴图是关键】)国内企业 20%。
关系:数据仓库构建了企业级的数据模型,大数据平台在此基础上进行拓展,解决了海量、实时数据的计算和存储问题,而数据中台则是将数据服务化后提供给业务系统,目标是将数据能力渗透到各个业务环节。
上图为阿里巴巴示范图,从下往上(国外示范图习惯从左往右)。
数据源→采集与转化→平台层→数据中台。
Q1:采集与转化中,由哪几部分构成?
A1:一般由 4 部分构成,
1)结构化数据采集 ETL+ESB;
2)非结构化数据采集File;
3)实时数据采集 Kafka+ws;
4)流数据(无法进入数仓,需要在数据湖中处理)。Q2:阿里巴巴认为的平台层有哪些?
A2:3+1 数据仓库、大数据平台(所谓的数据湖)、实时数据处理、数据实验室(不上生产系统,做 POC)。
平台层之上为数据中台(阿里巴巴创造名称,上图中绿色部分):主要为指标、标签等工作,如精准营销、业务分析、智能客服、客户洞察、产品洞察、行业洞察、智能运营、风险监控、财务分析、大数据运维、数据可视化、数据共享、标签库、离线分析、在线分析、海量检索、机器学习、NLP 自然语言处理、计算机视觉、知识图谱/关系图谱。
11.7 F5 数仓和数据湖的架构图【最有可能画设计图,数仓、数据湖、数据中台,非常重要!】
数据通过源运营系统进入集结区域,可直接到 ODS,也可以进入中心仓库。注意 ODS 双向箭头中心仓库,ODS 不是进入数仓的必备环节,而是与数仓平级(阿里巴巴图是不正确的,ODS 不是贴源层)。最下方 DW 也可以进数据湖。
右侧上方影响报告为 BI,下方比较、评估、预测、学习为 AI。
目前 BI 软件不能用作 AI 分析,但 AI 软件(Rapidminer)部分可用作BI。
阿里巴巴图:
Iso:组件、组件之间的关系、设计原则。
Q2:已经有数仓的情况下,为什么还要建设数据湖?
A2:判断业务场景,客服中心接电话,由经理监听电话判断是否认真工作,现在有音频要求,但目前数仓无法处理音频,所以需要建设数据湖,如果有大量非结构化数据需要处理,建立数据湖。
11.8 ETL 和 ELT 区别【面试会问】
ETL:目标数据仓库。
ELT:目标数据湖。
11.9 F3 数据分析的自助服务是什么?(PPTP85)
Dataselfservice 低代码软件(无需编程):PowerBI 出BI 报告,Rapidminer(人工智能)做预测及挖掘。
根据用户权限提供各种功能。
按照标准计划推送给用户。
提供自助服务。通过门户执行报表取数。
以业务为中心构建仪表板。
11.10 F6 数仓的一些疑难问题,比如 SCD、星型和雪花模型的融合等?
Q1:SCD 如何解决?【参考第 5 章】
A1:渐变类维度 slow changing dimensions
1.覆盖 Overwrite,新值覆盖旧值。
2.新行 New Row,新值写在新行中,旧行被标记为非当前值。
3.新列 New Column,一个值的多个实例列在同一行的不同列中,而一个新值意味着将系列中的值向下一点写入,以便在前面为新值流出空间。最后一个值被丢弃。
Q2:星型和雪花模型
A2:星型没有层级(日期维度),雪花模型有层级关系(如日期→月→季→年)。
Q3:CDC change Data capture 增量抽取方法【可能会考选择题】
A3:4 种 CDC 方法(时间戳增量加载、日志表增量加载、数据库交易日志、消息增量),数据量最大的 CDC 是全量加载。
11.11 F7 指标体系
数据自助服务有赖于 2 部分建设:元数据管理(首要工作),指标体系建设。
建立企业级指标体系的意义:纵向、横向比较。指标口径清晰,统一规范;
支持用户的自助灵活用数;有效控制报表开发成本。
Q:针对银行业金融机构有哪些指标?
A:核心价值指标(盈利性指标、业务运营指标、资源和局限性指标、宏观经济指标等)。
关键指标(对银行的业务经营和管理决策具有重要意义,作为核心价值指标的补充(通过指标重要性评分得出),形成上百个关键指标提供用户使用)。
常用指标(绩效考核、风险管理、财务报告、监管统计)。
基础指标库(客户经理指标、产品经理指标、信贷评审员指标)。数据来源系统(涵盖外部监管,如(银监会、人民银行)统计要求、银行高管统计需求(如行长报告)、各业务条线统计需求(如支付结算、信用卡、产品管理、投资理财、渠道管理、客户资产管理、投资银行、信贷、贸易融资等)、机构和员工绩效考核需求、以及同业领先实践补充)。
建立指标和维度的主题应用场景和多维模型(不再是传统意义上的多维模型,而是 ROLAP,基于关系型数据库,对接多维方法的多维模型)。
Q:保障指标落地难点有哪些?
A:1)调整组织架构;
2)主数据定了标准,可能无法贯标;
3)指标体系。
相关软件:
PowerBI 创建报表。
Kettle 做 ETL(美国用 talend 较多)。
Mahout 做推荐引擎。
CIA、美国军方使用组合:数据仓库数据库 Netezza,数据集成ETL Obention,前端 palantir(找到本拉登的,《指环王》剧中能穿越时空、看到一切的水晶球)。
在数仓中规划落实元数据
案例:上海一家银行指标体系(3k 多指标)。
参考书《阿里巴巴零售模型白皮书》。
相关文章:

第十一章 数据仓库和商务智能 10分
11.1.0语境关系图 11.1 Q 建立数据仓库,有哪些步骤?如何建设?【6 个步骤非常重要!必须知道】 1. 理解需求(P)(目的明确,ETL) (1) 考虑业务目标和业务战略。 (2) 确定业…...

一篇文章带你解析完整数据结构-----满满干活值得收藏
数据结构是计算机科学中的一个重要分支,它涉及到计算机存储、组织数据的方式。以下是数据结构的主要知识点: 基本概念 数据(Data)。数据元素(Data Element):数据项(Data Item)&…...

11.3 用Python处理常见文件
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…...

Linux知识复习第2期
RHCE 远程登录服务-CSDN博客 Linux 用户和组管理_linux用户和组的管理-CSDN博客 Linux 文件权限详解-CSDN博客 目录 1、sshd 免密登录 (1)纯净实验环境 (2)生成密钥 (3)上锁 2、用户管理 (1)添加新用户 (2)删除用户 (3)修改用户信息 (4)为用户账号设…...

驗證HTTP代理的有效性的方法和步驟-okeyproxy
如何驗證HTTP代理的有效性,確保它的性能和安全性,是非常必要的。本文將詳細介紹驗證HTTP代理有效性的方法和步驟。 HTTP代理作為一種仲介伺服器,它可以幫助用戶在訪問目標網站時隱藏真實IP地址,從而提高匿名性和安全性。通過HTTP…...

Java和kotlin 反射机制
Java 反射机制详解 Java 反射机制是一种强大的工具,使得程序可以在运行时动态地获取类的信息,并且可以在运行时操作类的成员变量、方法和构造函数等。以下是 Java 反射的详细讲解,包括其原理、使用场景、优缺点以及如何使用反射。 1. 反射的…...

Linux Shell编程--数组
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除! 一、简介 Shell 脚本中的数组允许你存储多个值,并可以通过索引访问它们。Shell 中的数组是一维的。 二、声明数组 在Shell…...

sheng的学习笔记-AI-k近邻学习(kNN)
AI目录:sheng的学习笔记-AI目录-CSDN博客 什么是k近邻学习 k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,是一种基本的分类与回归方法。 分类问题:对新的样本,根据其 k 个…...

ShardingSphere之ShardingProxy集群部署
文章目录 介绍使用Zookeeper进行集群部署统一ShardingJDBC和ShardingProxy配置通过Zookeeper注册中心同步配置直接使用ShardingProxy提供的JDBC驱动读取配置文件 介绍 开发者手册 在conf/server.yaml配置文件中有下面这一段配置,就是关于集群部署的 mode: # typ…...

同态加密和SEAL库的介绍(六)BGV 方案
前面介绍 BFV 和 CKKS 加密方案,这两者更为常用。并且也解释了 Batch Encoder 和 级别的概念,这对接下来演示 BGV 会很有帮助。 一、BGV简介 BGV (Brakerski-Gentry-Vaikuntanathan) 方案 是一种基于环学习同态加密(RLWE)问题的加…...

uniapp微信小程序 canvas绘制圆形半透明阴影 createCircularGradient函数不支持透明度部分解决方案
背景 我需要在微信小程序中,用canvas绘制一个圆形钟表,在ui设计图中,有一部分阴影,这里我节选一下: 即深色发黑的部分 canvas通用阴影绘制 由于canvas中并不支持css那样简单的方式为圆形添加阴影或高光,…...

W34KN3SS靶机
信息收集: 靶机地址:https://www.vulnhub.com/entry/w34kn3ss-1,270/# (1)ip扫描 nmap 192.168.254.0/24 -sn | grep -B 2 00:0C:29:E8:66:AB (2)端口扫描 nmap -p- -A 192.168.254.145 (3&…...
8.9套题
A. 猴猴吃苹果 题意:给定根节点k,求访问点的顺序,使得每次从上一个点到当前点的权值最大。访问过的点权值为0。权值一样时,输出最小编号 思路:由于是双向边,先求根节点到每一个节点的距离值。在第一轮中&…...

Python 爬取网页水务数据并实现智慧水务前端可视化
提示:本文爬取深圳市环境水务集团有限公司的公开数据作为数据样例进行数据分析与可视化。 文章目录 一、爬虫二、对爬取的数据进行数据库、excel的存储与数据处理1.代码实现 三、应用Flask框架将后端获取数据后渲染到前端四、前端Echarts的使用1.下载echarts.min.js…...

百度智能云发布3款轻量级+2款场景大模型
文心大模型ERNIE 3.5是目前百度智能云千帆大模型平台上最受欢迎的基础大模型之一。针对用户的常见通用的对话场景,ERNIE 3.5 在指令遵循、上下文学习和逻辑推理能力三方面分别进行了能力增强。 ERNIE Speed作为三款轻量级大模型中的“大个子”,推理场景…...

UE基础 —— 编辑器界面
菜单栏 UE中每个编辑器都有一个菜单栏,部分菜单会出现在所有编辑器窗口中,如File、Window、Help,其他则是其编辑器特有的; 主工具栏 UE中部分最常用的工具和命令的快捷方式; 1,保存按钮(ctrls&a…...

2024年Vue组件库大比拼:谁将成为下一个Element?
2024 年,Vue生态蓬勃发展,越来越多的开发者开始探索更适合自己项目的组件库。 今天我们来看一下2024年最受欢迎的几款Vue开源组件库,除了Element,开发者们还有哪些选择呢? 1.Vuetify Vuetify是由社区支持的Vue组件库&…...

SS9283403 sqlite3交叉编译并部署到SS928(六)
1.Sqlite3下载 连接:SQLite Download Page 2.解压 tar zxvf sqlite-autoconf-3460000.tar.gz 3.配置并编译 进入解压目录,打开命令行,输入如下命令 ./configure CCaarch64-mix210-linux-gcc --hostarm-linux --prefix/home/mc/work/sqlite…...

java3d-1_4_0_01-windows-i586.exe
下载 Java 3D API 安装 C:\Program Files\Java\Java3D\1.4.0_01\bin C:\Java\jre6 C:\Java\jdk1.6.0_45 C:\Windows 记录下这 4 个目录,去检查下 4 哥目录下文件多了什么 检查目录① C:\Program Files\Java\Java3D\1.4.0_01\bin 检查目录② C:\Java\jre6 C:…...

Vue3中的history模式路由:打造无缝导航体验!
Hey小伙伴们,今天给大家带来Vue3中使用history模式路由的实战案例!🌟 🔍 项目背景 Vue3的路由功能非常强大,可以帮助我们轻松实现单页面应用中的页面切换。但是你知道吗?默认情况下Vue Router使用的是has…...

python(6)
一、datetime函数 方法一: 前一个datetime是模块。后一个datetime是类型 方法二: 方法三: 二、逆序字符串 三 、旋转字符串...

以Zed项目为例学习大型Rust项目的组织与管理
说明 Zed项目代码:https://github.com/zed-industries/zed.git本文项目代码:https://github.com/VinciYan/zed_workspace.git Zed是一款由Atom创始人开发的高性能、协作友好的现代开源代码编辑器,使用Rust编写,集成AI辅助功能&a…...

正点原子imx6ull-mini-Linux驱动之Linux RS232/485/GPS 驱动实验(23)
错误1:我一直找不到为什么我的minicom用不了,编译啥的都通过了,原来是我的密码文件命名错了,我就习以为常的命名为password,谁知道应该是passwd,所以以后该复制的还是复制,不然就容易找不到源头…...

用户上下文打通+本地缓存Guava
文章目录 🌞 Sun Frame:SpringBoot 的轻量级开发框架(个人开源项目推荐)🌟 亮点功能📦 spring cloud模块概览常用工具 🔗 更多信息1.设计1.链路流程2.详细设计 2.网关过滤器获取唯一标识放到Hea…...

Windows图形界面(GUI)-MFC-C/C++ - 树形视图(Tree Control) - CTreeCtrl
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 树形视图(Tree Control) - CTreeCtrl 创建和初始化 添加和删除项 获取和设置项属性 操作项 项选择变化 项双击 项展开 示例代码 树形视图(Tree Control) - CTreeCtrl 创建和初始…...

C语言 --- 枚举、位运算
(一)枚举 1.概念:枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围 2.作用:a.提高代码可读性;b.提高代码的安全性 3.枚举类型: enum 枚举名 { 列举各种值 //枚举元素或枚…...

12322222222
当您和老王不在同一个网段时,您们之间的通信需要通过路由器来实现。这是因为不同的网段被视为不同的网络,而路由器的作用之一就是连接不同的网络并负责数据包的转发。下面是详细的通信流程: 本地网络通信尝试:您的设备࿰…...

知识改变命运:Java 语言 【可变参数】
可变参数 概念:Java允许一个类中多个同名同功能但是参数不同的方法,封装为一个方法。 基本语法: 访问修饰符 返回值 方法名 (数据类型...参数名) { ...... }案例:写一个类名DyMethod 方法名sum 计算两个整数和,三个整…...

Spring及相关框架的重要的问题
Java框架 问题一:Spring框架中的单例bean是线程安全的吗? 看下图,不能被修改的成员变量就是无状态的类,无状态的类没有线程安全问题,所以在开发中尽量避免可修改的成员变量。 回答:不是线程安全的…...

Linux Vim教程
Linux Vim 教程 Vim(Vi IMproved)是一个强大的文本编辑器,广泛用于编程和系统管理。本文将带你全面了解 Vim 的基础使用、常用命令、高级功能等。 1. 安装 Vim 在大多数 Linux 发行版中,Vim 已经预装。如果没有,可以…...