志达IT
做快乐程序员

数据库和数据仓库的区别与联系(学数据库以后干什么)

数据库和数据仓库的区别与联系

有位做数据剖析的小伙伴问我:教师,你们做商业智能BI的总在讲数据仓库、数据仓库,我感觉在数据仓库上仍是跟其它数据库相同操作写SQL就能够跑一些数据出来,感觉跟数据库没有什么差异啊,他们的差异到底在哪里啊?
数据库和数据仓库的差异
事实上,数据仓库和数据库的差异到底在哪里,这个问题其实许多许多人也问过,简略来说:数据仓库的实质便是数据库,存储方法都是相同的。仅仅两者的定位和服务目标不同、内部的数据组织形式不同。
能够从这几个视点来描绘:
第一,数据库一般服务于事务,数据仓库一般服务于剖析。咱们一般所说到的数据库一般都是服务于事务应用软件的,不管这些软件是B/S架构仍是C/S架构,例如企业里面常用到的ERP体系、OA体系,或许像咱们手机上的点餐APP、网上购票的APP等等。
这些事务体系的特色都是用户在这些软件体系上操作,比方登录、填写个人的信息、修改个人资料、查询一条记录等等,数据经过这些软件程序和背面的数据库进行交互,在底层的数据表上进行增修改查的操作。所以,一般这些数据库是服务于各种各样跑在操作体系之上的各种事务体系、应用软件,更多的面向事务流程、事务管理。
事务数据-派可数据商业智能BI可视化剖析渠道
数据仓库就不相同了,它不是服务于事务信息化体系的,它是服务于剖析型应用的。更多的是经过各种商业智能BI前端可视化剖析工具或许报表工具来访问数据仓库,最终是面向报表查询,数据剖析服务的。html
第二,数据库的数据来源来自各种事务体系软件程序的发生的数据,或许是由和这些事务体系软件交互的用户发生的数据,而数据仓库的数据来源则直接是这些事务体系的一个或许多个数据库或许文件,比方SQL Server、Oracle、MySQL、Excel、文本文件等。也能够简略理解为许多个事务体系的数据库往数据仓库输送数据,是各个数据库的集合体,一个更大的数据库,数据仓库的树立是要打通这些根底数据库的数据的。
商业智能BI-派可数据商业智能BI可视化剖析渠道
第三,数据库在规划的时分很少寄存历史数据,一般仅仅描绘某一个事务时间的数据,跟着事务体系的改变而改变。数据仓库为了剖析的意图会寄存很多的历史数据,由于是每天抽取事务体系数据库的数据每天寄存起来,大部分的数据都是静态的。
第四,最核心的差异在于建模方法和数据的冗余。事务体系的数据库为了完成一个事务流程,在表的规划上一般采用的是三范式3NF建模方法,最小原子列不行细分、主外键等,经过一对多或许多对多的形式,减少数据冗余。而数据仓库在建模方法上既有三范式3NF建模,也有维度建模比方星型或雪花型的建模方法,一般一般都是使用Kimball的维度建模。
建模方法-派可数据商业智能BI可视化剖析渠道
像Kimball的这种维度建模的方法都是反规范性规划的,保留了很多的数据冗余,为了查询的功率。所以,事务体系的数据库更多的是增修改操作,而数据仓库更多的是查询操作,这就决议了建模方法会有很大的差异。一个是面向事务流程,一个是面向剖析服务。
一起,为了底层架构的稳定性和健壮性,数据仓库还会进行底层表的分层规划,比方常常看到的ODS层、Staging层、Trans层、Dimension层、Fact层、Data Mart层等。这种分层的好处便是解耦,隔离底层事务体系的改变对上层模型以及页面的影响,也便于后期的数据保护。
数据仓库-派可数据商业智能BI可视化剖析渠道
简略总结一下:数据仓库的实质仍然是数据库,仅仅服务目标不同。一个是服务于事务体系,一个是服务于商业智能BI可视化剖析。服务目标的不同决议了数据库底层的数据组织形式首要是以三范式建模,来习惯事务体系频繁增修改的需求。
而数据仓库为了事务剖析的意图,因而需求拉通各个事务体系数据库的数据,保留很多历史数据,一起为了剖析功率的提高改变了传统数据库的数据组织形式,例如利用适合于剖析型模型的Kimball维度建模方法来组织底层数据架构。数据库服务于事务流程,经过事务软件来访问;数据仓库服务于商业智能BI剖析,经过商业智能BI前端可视化剖析工具来访问。

学数据库以后干什么

首先,当时如果仅仅把握数据库的基本使用,要想取得一份高附加值的工作岗位仍是比较困难的,所以当时学习数据库应该既注重数据库的使用,同时还需求有一个主攻方向,要么能够深化了解数据库的体系结构,从而从事存储类的岗位,要么能够根据数据库做数据分析和挖掘。
在传统的IT岗位傍边,数据库管理员是比较常见的岗位之一,并且岗位附加值也相对比较高,可是跟着云核算的开展,数据库本身的存储方法和使用方法正在产生较大的改动,传统的数据库管理员也产生了岗位晋级。从当时IT互联网行业的开展趋势来看,要想根据数据库来取得工作岗位,可以向以下三个方向开展:
第一:运维岗位。虽然在云核算时代,运维岗位的工作内容和工作性质正在产生改动,可是运维岗位的重要性并没有降低,对于大型互联网渠道来说,运维岗位仍是非常重要的,并且运维岗位本身的使命鸿沟也在不断拓宽,一部分运维岗位的岗位附加值仍是比较高的。运维知识的学习时间仍是比较长的,通常在实习岗位上需求一年左右的训练时间。java自学
第二:数据分析岗位。未来跟着工业互联网的开展,大量企业在完成业务云端化之后,下一步必然要完成数据价值化的布局,而数据分析岗位会受到广泛的关注。数据分析不论是选用统计学方法,仍是选用机器学习的方法,都离不开数据库的支撑。学习数据分析需求根据本身的知识结构和学习才能来拟定学习计划,全体的学习周期因人而异。
第三:存储岗位。存储岗位在云核算技术体系傍边是比较重要的,涉及到的内容也比较多,一方面要了解各种数据库的特点,另一方面也需求有较强的实践才能,能够针对于不同的场景规划不同的存储计划。存储岗位的岗位附加值比较高,需求学习的周期也相对比较长,并且对于场景也有较高的要求

赞(0)
未经允许不得转载:志达IT网站 » 数据库和数据仓库的区别与联系(学数据库以后干什么)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们