3个问题,让你快速了解数据仓库

Wesley13
• 阅读 652

点击标题下「数据私房菜」可快速关注

上周的原创文章中,给大家介绍了数据仓库中模型设计的一些思路和方法,今天我们通过三个问题,让大家快速了解数据仓库。

1数据仓库和数据库,傻傻分不清楚?

很多人未入行的人经常讲数据库和数据仓库搞混,简单来说,数据库是一种具体的技术,而数据仓库是一种基于数据库技术的结构体系。数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合。

最近《都挺好》热播,拿石天冬老板做私房菜来举例。

3个问题,让你快速了解数据仓库

假如石天冬要做一道变态辣回锅肉。肉片、辣椒、葱姜蒜等原料就是我们的业务系统数据,锅碗瓢盘就是用来存储原料的数据库,而小石通过自己的手艺,也就是利用分层建模等数据仓库技术,将这些原料加工成香喷喷的回锅肉,得到的成果我们称为数据仓库。

2为什么要有数据仓库?

一个企业的系统建设,往往都是优先于业务的开展,也就是我们俗称的联机事务处理OLTP(On-Line Transaction Processing)类的系统,随着企业的发展强大,大家也越来越重视数据的作用,联机分析处理OLAP(On-Line Analytical Processing)类的系统也越来越多,这些系统需要OLTP的数据支持。

事情发展到这里,会遇到几个问题,以银行为例,交易类的系统和支持决策类的系统各有上百个,如果让他们毫无规则的进行数据交互,这是一件极其恐怖的事,同时历史数据的保存会造成大量的冗余,统计口径的不一致也会导致数据质量无法保证,这正是数据仓库存在的意义,数据仓库建立可以将数据统一集成、加工、保存并提供标准的对外服务。

举个栗子,食荤者餐馆需要的食材的原材料就像我们的OLTP系统提供的数据,来消费的食客就像我们的OLAP系统,我们不能让食客自己切菜炒菜,这样味道无法保证,万一再有几个调皮的食客把厨房点着,早晚要关张大吉。所以小石精心制定菜谱、加工各种鸡鸭鱼肉,为每一位食客提供喜欢吃的、质量稳定的私房菜,就是数据仓库存在的意义。

3个问题,让你快速了解数据仓库

3为什么数据仓库是支持决策系统的基础?

我们在第一个问题中说过,数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合。

还是用私房菜馆的例子,为每一位食客提供喜欢吃的、质量稳定的私房菜,将菜单分了几大类,中餐、外餐,中餐里面包含新派川菜、传统粤菜,外餐包含日本料理、法式大餐等等,其中每种类型下面都有特色菜若干,食客就可以根据自己的喜好,快速的选择自己的喜欢的食物,但其实不管是炖牛肉还是黑椒牛排,都是用的一家供应商的牛肉。这个就是数据仓库的面向主题的特性,他实现了数据从交易特性到统计特性的转变

集成性体现在标准的统一,不管买来的牛肉是什么奇形怪状的,用来炖牛肉的一定切成块状,用来最牛排的处理成两个巴掌大的片状。在数据仓库的所有特性之中,这是最重要的,他形成了对数据的统一标准,消除各个系统的不一致

我们不会因为今天研究出新菜酒香鱼,就忘记昨天学会的那道蒜香鸡翅,同时今天的蒜香鸡翅做起来因为加了麻椒特别好吃,小石还更新了菜谱,同时将老的菜谱封存,以便未来查证。这正是数据仓库的非易失性且随时间变化的特性。数据仓库中的数据时间期限要远远长于操作型系统中的数据时间期限,其中保存着这些数据在时间周期内的状态,我们随时可追溯任一时点(通常保存十年数据)的历史状态。这三点决定了数据仓库作为支持决策系统的基础,也是数据仓库建设的关键。

小结:数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。 操作型处理,OLTP也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发的支持用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。分析型处理,OLAP,一般针对某些主题历史数据进行分析,支持管理决策。

好啦,今天通过三个小问题,让大家对数据仓库有了一个初步的了解,适合刚刚入门的小朋友,未来数据私房菜也会经常给大家分享数据相关的技术,希望大家多多支持。

数据私房菜

DataPrivateFood

3个问题,让你快速了解数据仓库

「数据私房菜」 为您提供传统数据仓库、大数据平台、数据挖掘、人工智能等领域的热点资讯、最新技术、应用前景,旨在通过共享信息,传播数据文化,促进行业交流,提升数据价值。

长按下方关注我们

3个问题,让你快速了解数据仓库

本文分享自微信公众号 - 数据私房菜(DataPrivateFood)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
GreenPlum tidb 性能比较
主要的需求  针对大体量表的OLAP统计查询,需要找到一个稳定,高性能的大数据数据库,具体使用  数据可以实时的写入和查询,并发的tps不是很高建立数据仓库,模式上主要采用星星模型、雪花模型,或者宽表前端展示分为3类 saiku、granafa、c代码开发数据体量:事实表在35亿、维度表大的在500
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
个推TechDay治数训练营直播回顾:千字干货带你入门数据仓库,跑通数据建模全流程(附视频)
近日,2022年个推TechDay“治数训练营”系列直播课第一期圆满举办。个推资深大数据研发工程师为大家深入浅出地介绍了数据仓库的前世今生以及数据建模的常用方法。本文对“治数训练营”第一期《数据仓库与维度建模》的干货内容进行了总结,同时也挑选了直播间的精彩提问做了Q&A梳理,带大家一起回顾首期课程。一、数据仓库快速入门数据仓库(DataWarehous
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这