数据仓库的概念(一):什么是数据仓库与数据库有什么不同
2021年02月02日 11:31:50 · 本文共 1,289 字阅读时间约 4分钟 · 3,865 次浏览本文作为开启大数据技术入门级系列教程首篇文章,我们使用的任何大数据组件和工具其实都是在解决数据的问题,而数据就需要通过数据仓库存取,无论你使用什么样的技术架构都离不开数据仓库,所以第一篇文章先了解一下什么是数据仓库,以及数据仓库和数据库有什么区别。
任霏注:本文认为读者已经掌握了传统结构化数据库的知识,所以在讲数据仓库时直接拿数据库进行比较,如果您对结构化数据库不了解,请先了解结构化数据库的基础知识。
什么是数据仓库
数据仓库(Data Warehouse)一般被缩写为DW、DWH,注意这个缩写,在行业和后续的内容中将经常使用DW缩写作为数据仓库的名字。什么是数据仓库,我说了不算,这里引用维基百科的描述:
数据仓库是用于报告和数据分析的系统,被认为是商业智能的核心组件。数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起,用于为整个企业的员工创建分析报告。
数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
根据数据仓库之父比尔·恩门的描述,我们可知道数据仓库的特点:
- 面向主题的(Subject Oriented):数据是按照一定的主题域进行组织
- 集成的(Integrated):数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成
- 相对稳定的(Non-Volatile):数据不更新,主要是为决策分析提供数据,所涉及的操作主要是数据的查询
- 反映历史变化(Time Variant):稳定的数据以只读格式保存,且不随时间改变
- 用于支持管理决策(Decision Making Support)
数据仓库与数据库有什么区别
我们常见的数据库 DB (Oracle, Mysql, PostgreSQL)主要用于事务处理,例如银行转账、购物下单,需要很高响应能力,由数据表构成,每张表描述一个事物记录,例如用户表会描述一个用户的名字和密码。
数据仓库 DW (Amazon Redshift, Hive)主要用于数据分析,存储元数,据虽然也有数据表,但表可能不再是描述事物,可能是描述一个主题,例如用户表不仅仅是用户的名字和密码根据需要分析的维度,用户表可能会非常宽,包含用户的所有信息。
任霏注:数据库是为了记录一件事一个物,处理实时发生的事件;数据仓库是为分析而生,按照主题归类数据方便按类提取数据进行分析。
数仓中是如何划分主题
上面说到数仓是按主题(Subject)存储的,主题是对数据综合、归类和分析利用的一个抽象概念,一个主题基本对应一个宏观的分析领域,由于是入门级的教程,旨在快速入门,咱们先不探究更深入的模型设计,先让大家知道主题。
在现实中,可能根据不同的视角,按照业务、根据需求按照功能或应用等方式划分不同的主题域,所以没有固定的标准建设方案,在建设过程中可采用迭代方式,不纠结于一次完成所有主题的抽象,可先从明确定义的主题开始,后续逐步归纳总结成自身行业的标准模型。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003445
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
- 前后端分离项目接口数据加密的秘钥交换逻辑(RSA、AES)
- OmniGraffle 激活/破解 密钥/密匙/Key/License
- Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿
- CleanMyMac X 破解版 [TNT] 4.6.0
- OmniPlan 激活/破解 密钥/密匙/Key/License
- 人大金仓 KingbaseES V8 R3 安装包、驱动包和 License 下载地址
- Parallels Desktop For Mac 16.0.1.48911 破解版 [TNT]
- Parallels Desktop For Mac 15.1.4.47270 破解版 [TNT]
- Sound Control 破解版 2.4.2
- 向谷歌搜索引擎主动推送网页的教程 Google Indexing API 接口实现
- 博客完全迁移上阿里云,我所使用的阿里云架构
- 微软确认Windows 10存在bug 部分电脑升级后被冻结
- 大佬们在说的AQS,到底啥是个AQS(AbstractQueuedSynchronizer)同步队列
- 比特币(BTC)钱包客户端区块链数据同步慢,区块链数据离线下载
- Java中说的CAS(compare and swap)是个啥
- 小心免费主题!那些WordPress主题后门,一招拥有管理员权限
- 强烈谴责[wamae.win]恶意反向代理我站并篡改我站网页
- 讨论下Java中的volatile和JMM(Java Memory Model)Java内存模型
- 新版个人网站 NEILREN4J 上线并开源程序源码
- 我站近期遭受到恶意不友好访问攻击公告