数据仓库发展历史

news2024/12/25 23:40:55

数据仓库发展历史

一、演变

数据仓库是企业中用于存储、整合和分析数据的关键组件。随着时间的推移,数据仓库经历了三代演化:从需求驱动到平台化、从平台化到智能(AI)化

二、第一代(过时)

第一代数据仓库演化:需求驱动的分层架构

第一代数据仓库的核心思想是根据需求分析和业务模型构建分层架构,使用工具如Hive实现数据的汇聚和整合,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C704aQx5-1689948599302)(Aspose.Words.dc4cd3c6-b194-456b-9f3d-aa2c39c07080.001.png)]

一代数据仓库大多通过HiveSQL进行开发,新的业务需求来临时会重新设计该需求所需要的表结构进而满足业务需求

第一代数据仓库的优点和缺点。

优点:

  1. 结构化和规范化:第一代数据仓库采用分层架构,将数据按照一定的规则和结构进行组织,使数据具有一定的结构性和规范性。这有助于提高数据的可管理性和可维护性。
  2. 易于控制和管理:通过分层架构,数据仓库可以更好地进行控制和管理。不同的层次可以根据业务需求进行划分,每个层次都有明确的职责和用途,从而更好地管理和维护数据。
  3. 易于访问和查询:通过数据集市层,其他应用可以方便地访问和查询数据。这样的架构可以提供一致性的数据视图,使得数据分析和报表生成更加高效和方便。

缺点:

  1. 需求变更困难:第一代数据仓库在面对需求变更时存在一定的困难。每当有新的需求出现时,需要重新设计和调整各个层次的业务表结构,这涉及到较多的工作量和时间投入。
  2. 增加开发和维护成本:由于需要对各个层次的业务表进行调整和修改,第一代数据仓库的开发和维护成本相对较高。这对于资源有限的企业来说可能是一个挑战。

示例:假设一个电子商务企业拥有一个第一代数据仓库,其中包括原始数据层、数据清洗和转换层、数据集市层。

当业务部门需要生成一份按产品类别划分的销售报表时,数据仓库团队需要重新调整和设计数据集市层的业务表结构,以满足新的报表需求。

三、第二代(成熟)

第二代数据仓库演化:平台化的自助数据处理

第二代数据仓库的核心思想是平台化,例如观远科技、海致BDP等公司的BI产品。它提供了自助数据处理的能能力,用户可以根据自己的需求使用拖拉拽的方式生成新表,任意组合原始数据表来形成符合业务需求的分层表,如下图:

![ref1]

平台一般也内置了多种报表展示模板(折线图、饼图、桑吉图、地图等),用户只需要选择样式和数据表即可直观的查看数据,如下图:

![ref1]

第二代数据仓库的优点和缺点

优点:

  1. 灵活性和自助性:平台化的方法为用户提供了更大的灵活性和自助性。用户可以根据需要自由组织和转换数据,无需依赖专门的团队进行数据模型的调整。他们可以根据自己的需求随时创建新的表格和视图,而不会对已有的数据结构产生影响。
  2. 减少开发和维护成本:由于用户可以自主创建和管理数据表,第二代数据仓库减少了对数据仓库团队的依赖,从而降低了开发和维护成本。这对于资源有限的企业来说是一个重要的优势。
  3. 更快的时间到价值:平台化的自助数据处理可以帮助用户更快地实现数据驱动的价值。用户可以根据自己的需求和创意快速构建数据模型和报表,从而更快地获得有关业务的见解和洞察。

缺点:

  1. 数据质量风险:在自助数据处理的过程中,用户可能缺乏足够的数据质量意识,从而导致生成的分层表在数据准确性和一致性方面存在风险。因此,对数据质量的管理和监控仍然是一个重要的挑战。
  2. 数据安全和权限控制:由于用户可以自由地创建和访问数据表,数据安全和权限控制变得更加复杂。确保敏感数据的安全性和保密性仍然是一个重要的考虑因素。

示例:假设一个人力资源部门需要分析员工的绩效数据和培训记录,以优化人力资源管理。通过使用第二代数据仓库平台,人力资源团队可以轻松地创建一个分层表,将员工绩效数据与培训记录进行关联,并生成按照员工绩效评级和培训成绩等指标进行分析的表。这样,人力资源团队可以更好地了解员工的绩效和培训情况,为员工发展和绩效管理提供更准确的数据支持。

通过上述示例,我们可以看到第二代数据仓库平台化方法的优点。它提供了灵活性和自助性,使用户能够根据自己的需求和创意进行数据处理和分析。它还降低了开发和维护成本,并加快了时间到价值的转化。然而,我们也要意识到它可能存在的数据质量和安全风险,因此在实际应用中需要采取相应的管理和控制措施。

四、第三代(趋势)

第三代数据仓库的趋势,即通过语音对话或文字交互方式进行数据操作和查询。这种方式结合了自然语言处理(NLP)和人工智能(AI)的技术,使得用户可以通过直接对话或书写指令来操作和查询数据,而无需手动编写复杂的查询语句或使用特定的数据分析工具。

第三代数据仓库的优点包括:

  1. 自然交互:通过语音对话或文字交互,用户可以以更自然、直观的方式与数据仓库进行交互。这使得非技术专业人员也能够方便地获取数据并进行分析,降低了使用门槛。
  2. 快速查询和分析:使用语音或文字指令可以更快速地进行数据查询和分析。用户可以直接提出问题或指示,并迅速获取结果,提高了工作效率。
  3. 提供智能建议和洞察:基于自然语言处理和人工智能技术,第三代数据仓库可以分析用户的意图和查询,并提供智能建议、洞察和可视化结果。这样,用户可以更深入地理解数据,并做出更有价值的决策。
  4. 减少技术依赖:第三代数据仓库的自然语言交互方式使得非技术专业人员也能够轻松地操作数据,减少了对技术团队的依赖,提高了数据的可普及性和可用性。

尽管第三代数据仓库在交互方式和用户体验方面带来了许多优点,但仍然存在一些挑战:

  1. 数据理解和准确性:确保系统正确理解用户的指令并返回准确的结果是一个挑战。自然语言处理技术仍然面临着理解语义、处理歧义等问题。
  2. 数据安全和隐私:通过语音对话或文字交互操作数据涉及到数据安全和隐私的问题。确保数据的保密性和权限控制仍然是一个重要的考虑因素。
  3. 技术成熟度和可用性:目前,第三代数据仓库的技术和产品仍处于不断发展和演进的阶段。市场上的可用产品和解决方案相对较少,技术的成熟度和稳定性有待提高。

示例:假设一个销售团队需要快速了解销售数据并做出决策。他们可以使用第三代数据仓库,通过语音对话或文字交互方式与数据仓库进行交互。

  1. 语音对话:销售团队成员可以使用语音助手或智能音箱与数据仓库进行对话。他们可以直接提问,如:“上个月我们的销售额是多少?”或者“最畅销的产品是什么?”数据仓库会通过语音识别技术将问题转化为文本,并利用自然语言处理技术解析问题的意图,然后从数据仓库中提取相应的销售数据,并通过语音回复销售团队成员。
  2. 文字交互:销售团队成员可以使用智能数据分析平台或类似的工具,通过文字输入与数据仓库进行交互。他们可以输入查询指令,如:“最近三个月的销售趋势图表”或者“按产品类别划分的销售额报告”。数据仓库将解析输入的指令,从相应的数据表中提取数据,并生成相应的可视化报告或图表,以满足销售团队的需求。

这样,销售团队可以通过直接的语音对话或文字交互方式,快速获取关键的销售数据和见解,从而支持他们做出更加及时和准确的决策。第三代数据仓库的示例突出了自然交互和智能建议的特点,使得用户能够更直观地与数据仓库进行交互,并从中获得有价值的信息。

总体而言,第三代数据仓库通过语音对话或文字交互方式为用户提供了更直观、便捷的数据操作和查询方式。它可以改善用户体验,降低技术门槛,并提供智能建议和洞察。然而,仍然需要关注数据理解的准确性、数据安全和隐私等问题。随着技术的进一步发展,第三代数据仓库有望在未来得到更广泛的应用。

五、数据仓库分层理论应用(建模)

数据仓库分层理论是一种用于组织和管理数据仓库的方法,它将数据按照不同的层次进行分层,并赋予每个层次特定的职责和用途。数据仓库分层理论有助于提高数据仓库的复用性、可维护性和可扩展性。

注意无论是第一代、第二代还是第三代数据仓库,都需要数据仓库的分层理论作为基础, 以下是关于这三代数据仓库与分层理论的总结:

第一代数据仓库:

  • 基于需求分析和业务模型构建分层架构。
  • 使用分层理论可以确保数据的结构性、规范性和管理性。
  • 分层架构将数据按照不同的层次进行组织和管理,提高了数据的可控性和可维护性。

第二代数据仓库:

  • 平台化的自助数据处理方法,用户可以自由组织和转换数据。
  • 分层理论仍然适用于第二代数据仓库,以确保数据的组织性和一致性。
  • 分层理论为用户提供了指导,帮助他们合理地组织数据,形成符合业务需求的分层表。

第三代数据仓库(趋势):

  • 通过语音对话或文字交互方式进行数据操作和查询。
  • 分层理论仍然是第三代数据仓库的基础,确保数据的组织性、一致性和可靠性。
  • 分层理论提供了数据仓库的整体架构,帮助数据仓库在语音对话和文字交互中提供更准确、可靠的结果。

综上所述,数据仓库的分层理论在这三代数据仓库中依然具有重要作用。分层理论确保数据的结构化、一致性和可管理性,帮助用户更好地组织和使用数据,从而实现更好的数据分析和决策支持。无论是哪一代的数据仓库,理解和应用分层理论都是必不可少的。

数据库分层理论详细参考:数据仓库设计理论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/779216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【《Spring Boot微服务实战(第2版)》——一本关于如何在Spring Boot中构建微服务的全面指南】

使用Spring Boot框架构建基于Java的微服务架构,将应用程序从小型单体架构蜕变为由多个服务组成的事件驱动架构。这个最新版本围绕服务发现、负载均衡、路由、集中式日志、按环境配置和容器化等知识点,循序渐进地讲述微服务架构、测试驱动的开发和分布式系…

Radare2:using test

Radare2:using test └─$ sudo apt install radare2 100 ⨯ [sudo] kwkl 的密码: 正在读取软件包列表... 完成…

【Bug记录篇】IDEA双击打不开,报错的问题

早上,带着满满的干劲来实验室,准备继续我的IDEA之旅,结果好嘛,一打开IDEA,给我这样?!!!😲😲😲 这是怎么回事!!…

FPGA-DFPGL22学习7-gpio

系列文章目录 FPGA-DFPGL22学习6-led 文章目录 系列文章目录前言一、原理图1)key2)beeptouch端口对应1)key2)beeptouch 二、程序设计1)KEY2)beeptouch 三、程序编写1.KEY代码:2.beeptouch代码: 结论 前言 和原子哥一起学习FPGA …

blender 基础材质篇

材质展示 材质背景介绍 什么是PBR? PBR 全称为 Physically Based Rendering,译为基于物理属性的引擎渲染,也就是说会把物质的颜色、粗糙度、高光属性等进行分别处理,使物质体现出更真实的感觉; 什么是BRDF&#xff…

【Linux】初识多线程深入理解进程地址空间

目录 1 多线程的引入 1.1 相关概念 1.2 Linux操作系统理解多线程 特殊的进程结构 创建子进程的过程 创建多线程 进程与线程之间的关系 1.3 对多线程结构的管理 Windows管理多线程 Linux管理多线程 1.4 理解多线程与多进程相比,调度的成本更低 2 深入理…

[JAVAee]volatile关键字

目录 1.volatile的特性 ①保持线程可见性 2.volatile注意事项及适用场景 ①注意事项 ②适用场景 1.volatile的特性 ①保持线程可见性 volatile,译为"易变的". 对此我们就可以这样理解,对于被volatile修饰的变量的数值,是容易变化的. 在之前的线程安全文章中,…

XILINX ZYNQ 7000 AXI总线 (二)

了解了AXI 的大部分内容后,开始做一个实战,就是完成AXI 结构的输入输出搭建。 一.创建一个IP 3. 4. 5. 6.选择AXI FULL,创界主接口和从接口 7. 8.可以看到XILINX AXI FULL 的源代码 二.创建一个新的工程,把IP导入到这个工…

ARP系统的命令行基础

系列文章目录 华为数通学习(2) 一、基本命令结构 二、命令行视图 设备提供了多样的配置和查询命令,为便于用户使用这些命令,VRP系统按功能分类将命令分别注册在不同的命令行视图下。 2.1,命令行视图介绍 我们接下来…

DevOps系列文章 之GitLabCI模板库的流水线

目录结构,jobs目录用于存放作业模板。templates目录用于存放流水线模板。这次使用​​default-pipeline.yml​​作为所有作业的基础模板。 作业模板 作业分为Build、test、codeanalysis、artifactory、deploy部分,在每个作业中配置了rules功能开关&…

栈和队列 --- C语言实现

本篇文章来详细介绍一下栈和队列,并且通过数组或链表来实现。 目录 1.栈 1.1栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 3.栈和队列面试题 4.相关概念选择题 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表&#xff…

项目初始化--uniapp--vscode--vue3--ts

HBuilderX 创建 uni-app 项目 注意开启服务端口 目录结构 ├─pages 业务页面文件存放的目录 │ └─index │ └─index.vue index页面 ├─static 存放应用引用的本地静态资源的目录(注意:静态资源只能存放于此) ├─unpackage …

eclipse中经常遇到的maven相关的问题

maven工程依赖的jar包无法部署到tomcat中 右键maven工程&#xff0c;选择“属性” 将工程在tomcat重新发布即可。 2、Update Project or use Quick Fix maven工程总是提示更新&#xff0c;一更新java版本又回到1.5 在pom.xml添加如下&#xff1a; <build><finalN…

【jenkins】idea+jenkins+docker+dockerfile+compose流水线部署java应用

目录 整体架构 环境准备 安装docker以及docker-compose jenkins安裝 maven安装 portainer面板安装 sonarqube安装 在项目中增加dockerfile和compose.yml脚本 Dockerfile脚本内容 compose.yml脚本内容 jenkins安装必要插件 jenkins增加流水线任务 增加pipeline任务j…

windows下搭建php开发环境

http://wed.xjx100.cn/news/139397.html?actiononClick https://www.bilibili.com/read/cv23429835/ https://www.php.cn/faq/498307.html 安装iis 选择卸载程序 安装php 官网https://www.php.net/下载 选择线程安全 国内地址 下载完成后解压放到想存放的路径 添加p…

【Deviation】50 Matplotlib Visualizations, Python实现,源码可复现

详情请参考博客: Top 50 matplotlib Visualizations 因编译更新问题&#xff0c;本文将稍作更改&#xff0c;以便能够顺利运行。 本文介绍一下5中图示&#xff1a; Diverging Bars Diverging Texts Diverging Dot Plot Diverging Lollipop Chart with Markers Area Chart 1 Di…

OpenCv之车辆统计项目

目录 一、加载视频 二、去除背景 三、通过形态学识别车辆 四、对车辆统计 一、加载视频 代码如下: import cv2 import numpy as np import matplotlib.pyplot as plt# 视频加载 cap cv2.VideoCapture(2.mp4)# 循环读取视频帧 while True:ret,frame cap.read()if ret Tr…

【Vue】day03-VueCli(脚手架)

day03 一、今日目标 1.生命周期 生命周期介绍 生命周期的四个阶段 生命周期钩子 声明周期案例 2.综合案例-小黑记账清单 列表渲染 添加/删除 饼图渲染 3.工程化开发入门 工程化开发和脚手架 项目运行流程 组件化 组件注册 4.综合案例-小兔仙首页 拆分模块-局部…

Java-API简析_java.net.Proxy类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/131881661 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

Element Ui 时间组件

很多时候在我们做项目的时候一般都会用到时间组件&#xff0c;其次js中&#xff1a;new dateNow new Date();得到的是Thu Jul 28 2022 15:04:32 GMT0800 (中国标准时间)&#xff0c;都需要去转换自己需要的时间格式。 接下来介绍Element Ui中的一个组件: <el-date-picker…