数据库和数据仓库的区别

数据库和数据仓库的区别
数据库和数据仓库的区别

简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。

显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、

香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到

了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

数据库与数据仓库的区别是什么

数据库与数据仓库的区别是什么 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。 “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。 “不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库

数据仓库模型的设计

2.5数据仓库模型的设计 数据仓库模型的设计大体上可以分为以下三个层面的设计151: .概念模型设计; .逻辑模型设计; .物理模型设计; 下面就从这三个层面分别介绍数据仓库模型的设计。 2.5.1概念模型设计 进行概念模型设计所要完成的工作是: <1>界定系统边界 <2>确定主要的主题域及其内容 概念模型设计的成果是,在原有的数据库的基础上建立了一个较为稳固的概念模型。因为数据仓库是对原有数据库系统中的数据进行集成和重组而形成的数据集合,所以数据仓库的概念模型设计,首先要对原有数据库系统加以分析理解,看在原有的数据库系统中“有什么”、“怎样组织的”和“如何分布的”等,然后再来考虑应当如何建立数据仓库系统的概念模型。一方面,通过原有的数据库的设计文档以及在数据字典中的数据库关系模式,可以对企业现有的数据库中的内容有一个完整而清晰的认识;另一方面,数据仓库的概念模型是面向企业全局建立的,它为集成来自各个面向应用的数据库的数据提供了统一的概念视图。 概念模型的设计是在较高的抽象层次上的设计,因此建立概念模型时不用考虑具体技术条件的限制。 1.界定系统的边界 数据仓库是面向决策分析的数据库,我们无法在数据仓库设计的最初就得到详细而明确的需求,但是一些基本的方向性的需求还是摆在了设计人员的面前: . 要做的决策类型有哪些? . 决策者感兴趣的是什么问题? . 这些问题需要什么样的信息? . 要得到这些信息需要包含原有数据库系统的哪些部分的数据? 这样,我们可以划定一个当前的大致的系统边界,集中精力进行最需要的部分的开发。因而,从某种意义上讲,界定系统边界的工作也可以看作是数据仓库系统设计的需求分析,因为它将决策者的数据分析的需求用系统边界的定义形式反映出来。 2,确定主要的主题域 在这一步中,要确定系统所包含的主题域,然后对每个主题域的内

数据库和数据仓库的区别

简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系

浅析数据库(DB)、操作数据存储(ODS)和数据仓库(D W)的区别与联系 文章背景: 相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。 本文主要从下面两类关系来叙述上面三者的关系: 1. 数据库(DB)和数据仓库(DW)的区别与联系 2. 操作数据存储(ODS)和数据仓库(DW)的区别与联系 数据库与数据仓库的区别与联系 数据库与数据仓库基础概念: 数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Proces sing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 OLTP和OLAP概念补充: 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction proc essing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作; OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。 举一个具体的例子:(转自知乎作者:陈诚),个人觉得例子描述的很清晰 举个最常见的例子,拿电商行业来说好了。 基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。 第一阶段,电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端+ 几台服务器+ 一个MySQL,就能开门迎客了。这好比手工作坊时期。 第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。初步进入工业化。 第三阶段,一般需要3-5 年左右的时间,随着业务指数级的增长,数据量的会陡增,公司角色也开始多了起来,开始有了CEO、CMO、CIO,大家需要面临的问题越来越复杂,越来越深入。高管们关心的问题,从最初非常粗放的:“昨天的收入是多少”、“上个月的PV、UV 是多少”,逐渐演化到非常精细化和具体的用户的集群分析,特定用户在某种使用场景中,例如“20~30岁女性用户在过去五年的第一季度化妆品类商品的购买行为与公司进行的促销活动方案之间的关系”。 这类非常具体,且能够对公司决策起到关键性作用的问题,基本很难从业务数据库从调取出来。原因在于: 1. 业务数据库中的数据结构是为了完成交易而设计的,不是为了而查询和分析的便利设 计的。 2. 业务数据库大多是读写优化的,即又要读(查看商品信息),也要写(产生订单,完 成支付)。因此对于大量数据的读(查询指标,一般是复杂的只读类型查询)是支持不足的。

数据仓库和数据库

数据仓库和数据库有什么区别? 通常情况下基于业务数据库数据分析人员也能完成数据分析需求,但是为什么要建数据仓库? 没有数据仓库时,我们需要直接从业务数据库中取数据来做分析。 业务数据库主要是为业务操作服务的,虽然可以用于分析,但需要很多额度的调整。 一,业务数据库中存在的问题 基于业务数据库来做分析,主要有以下几个问题: 结构复杂,数据脏乱,难以理解,历史缺失,数据量大时查询缓慢。 结构复杂 业务数据库通常是根据业务操作的需要进行设计的,遵循3NF范式,尽可能减少数据冗余。这就造成表与表之间关系错综复杂。在分析业务状况时,储存业务数据的表,与储存想要分析的角度表,很可能不会直接关联,而是需要通过多层关联来达到,这为分析增加了很大的复杂度。 数据脏乱 因为业务数据库会接受大量用户的输入,如果业务系统没有做好足够的数据校验,就会产生一些错误数据,比如不合法的身份证号,或者不应存在的Null值,空字符串等。 理解困难 业务数据库中存在大量语义不明的操作代码,比如各种状态的代码,地理位置的代码等等,在不同业务中的同一名词可能还有不同的叫法。 这些情况都是为了方便业务操作和开发而出现的,但却给我们分析数据造成了很大负担。各种操作代码必须要查阅文档,如果操作代码较多,还需要了解储存它的表。同义异名的数据更是需要翻阅多份文档。 缺少历史 出于节约空间的考虑,业务数据库通常不会记录状态流变历史,这就使得某些基于流变历史的分析无法进行。比如想要分析从用户申请到最终放款整个过程中,各个环节的速度和转化率,没有流变历史就很难完成。 大规模查询缓慢 当业务数据量较大时,查询就会变得缓慢。 二,数据仓库解决方案 上面的问题,都可以通过一个建设良好的数据仓库来解决。 业务数据库是面向操作的,主要服务于业务产品和开发。 而数据仓库则是面向分析的,主要服务于我们分析人员。评价数据仓库做的好不好,就看我们分析师用得爽不爽。因此,数据仓库从产品设计开始,就一直是站在分析师的立场上考虑的,致力于解决使用业务数据进行分析带来的种种弊端。 数据仓库解决的问题 结构清晰,简单 数据仓库不需要遵循数据库设计范式,因此在数据模型的设计上有很大自由。 数据模型一般采用星型模型,表分为事实表和维度表两类。 其中事实表位于星星的中心,存储能描述业务状况的各种度量数据。

数据仓库数据库设计的心得总结

数据仓库数据库设计的心得总结 数据仓库是企业商业智能分析环境的核心,它是建立决策支持系统的基础。一个良好的数据仓库设计应该是构建商业智能和数据挖掘系统不懈的追求。下面把数据仓库数据库设计的心得做一小结。 一透彻理解数据仓库设计过程 商业智能和数据挖掘归根到底是“从实践中来,到实践中去”。也就是说现实需求决定系统需求,业务数据决定系统构架,最终使用的时候又必须作用于现实需求,同时通过决策的行为影响业务。那么可以把数据仓库的设计看做是前一部分,即“从实践中来”,数据仓库的应用可以看做是“到实践中去”。把“从实践中来”这个过程进行抽象,数据仓库的设计就是“客观世界→主观世界→关系世界”的过程。 在前面几节完成了6个任务:选择被建模主题的商业过程、确定事实表的粒度、区分每一个事实表的维和层、区分事实表的度量、确定每一个维表的属性、在D BMS中创建和管理数据仓库。实际上这些任务都可以归结到从客观世界到关系世界的过程。那么把这个过程再进行归纳,可以得到如图3-61所示的综合了模型、方法和过程的示意图。 图3-61 数据仓库设计过程的模型和方法示意图 二把握设计的关键环节

如果将时间、精力、金钱和人事优先花在前面的20%,那么这20%会创造出80% 的价值。这就是有名的2/8原则。下面将介绍在数据仓库设计中,哪些因素是属于这20%的范围。 1.需求 需求分析在任何如见项目中都是最为重要的因素之一。企业模型是从企业的各个视点对企业数据需求及数据间关系的抽象。通过将企业模型映射到数据库系统,可以很快地了解现有数据库系统完成了企业模型中的哪些部分,还缺少哪些部分。然后再将企业模型映射到数据仓库系统,发现企业需要的(或可以构造的)主题。通过这样的过程完成对企业数据需求和现有数据的了解,达到明了原有系统和需要建设的主题域间共性的目的。 2.关键性能指标(KPI) 一般而言,一个决策支持系统最重要的就是要呈现决策数据。而KPI就是决策过程中要显示的数据结果的部分,如销售数量、销售金额、毛利和运费等数值部分的数据。这些KPI是通过与相关的维表进行连接而映射出来的。在分析星形模式时,往往要首先确定KPI。 3.信息对象 信息对象是指在每个分析过程中那些会影响到决策的因素。以销售分析为例,时间、产品、员工与客户就是影响决策的大因子,而每个因子又可以分离出多个分层结构,如时间可分为年、季度、月、周和日等,员工可分为年龄层、年龄、年薪层、年薪和员工所在城市等,也就是影响决策的详细因子。这些都是信息对象。从这里我们可以看出,每个大因子如时间、产品、员工与客户等就可以构成如时间维表、产品维表、员工维表与客户维表等。而时间维表又可分为年、季度和日等字段。在分析和设计这些信息对象组成的维度时,需要注意维的唯一性和公用性,千万不要在不同的主题中定义多个表示同一内容的维,如果有可能,一个维表要尽量被多个主题共享。 4.数据粒度 在数据仓库的每个主题中,都必须考虑事实数据的粒度。粒度的具体划分将直接影响到数据仓库中的数据量及查询质量。在数据仓库开始进行分析时。就需要建立合适的数据粒度模型,指导数据仓库设计和其他问题的解决。如果数据粒度定义不当,将会影响数据仓库的使用效果,使数据仓库达不到设计数据仓库的目的。 5.数据之间的联系 在数据仓库中,不同主题的数据之间的物理约束或许不再存在,但无论这些数据如何变化,要知道必须有一些“键”在逻辑上保持着不同数据之间的联系,这样

数据仓库与数据库的区别

数据仓库与数据库的区别 数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。 数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策 面向主题:而数据仓库中的数据是按照一定的主题域进行组织。 集成:对原有分散的数据库数据经过系统加工,整理得到的消除源数据中的不一致性 相对稳定:一旦某个数据进入数据仓库以后只需要定期的加载、刷新 反映历史变化通过这些信息,对企业的发展历程和未来趋势做出定量分析预测数据仓库建设是一个工程,是一个过程,而不是一种可以购买的产品 企业数据处理方式: 以联机事务处理形式信息,以联机分析处理形式处理信息,并利用信息进行决策;在信息应用过程中管理信息。 OLAP基本概念 从动态的多维角度分析数据,对数据进行钻取,以获得更为精确的信息 数据库设计是信息系统开发和建设中的核心技术。 信息技术基础设施的定义 ? ?可以从技术和服务两个角度来 定义信息技术基础设施 从技术角度来看,信息技术基础设 施---运营整个企业所必需的硬件 设施和软件系统的集合。

?从服务角度定义信息技术基 础设施更为恰当,信息技术基 础设施是整个企业范围内由管 理层所决定的包括人和技术能 力的服务的组合。 信息技术的普及性已经达到相当成熟的阶段 ?信息技术本身对企业来说不 可或缺;尽管能为整个行业带 来彻底的变化,但它已经不能 为单个企业提供战略性的竞争 优势;因为资源的稀缺性。?另一方面,不同企业应用信息技术 的能力差异很大 ?企业在利用信息技术改进业 务流程、创新业务、管理技巧

大数据仓库建设方案设计

第1章数据仓库建设 1.1数据仓库总体架构 专家系统接收增购项目车辆TCMS或其他子系统通过车地通信传输的实时或离线数据,经过一系列综合诊断分析,以各种报表图形或信息推送的形式向用户展示分析结果。针对诊断出的车辆故障将给出专家建议处理措施,为车辆的故障根因修复提供必要的支持。 根据专家系统数据仓库建设目标,结合系统数据业务规范,包括数据采集频率、数据采集量等相关因素,设计专家系统数据仓库架构如下: 数据仓库架构从层次结构上分为数据采集、数据存、数据分析、数据服务等几个方面的内容: 数据采集:负责从各业务自系统中汇集信息数据,系统支撑Kafka、Storm、Flume

及传统的ETL采集工具。 数据存储:本系统提供Hdfs、Hbase及RDBMS相结合的存储模式,支持海量数据的分布式存储。 数据分析:数据仓库体系支持传统的OLAP分析及基于Spark常规机器学习算法。 数据服务总线:数据系统提供数据服务总线服务,实现对数据资源的统一管理和调度,并对外提供数据服务。 1.2数据采集 专家系统数据仓库数据采集包括两个部分内容:外部数据汇集、内部各层数据的提取与加载。外部数据汇集是指从TCMS、车载子系统等外部信息系统汇集数据到专家数据仓库的操作型存储层(ODS);内部各层数据的提取与加载是指数据仓库各存储层间的数据提取、转换与加载。 1.2.1外部数据汇集 专家数据仓库数据源包括列车监控与检测系统(TCMS)、车载子系统等相关子系统,数据采集的内容分为实时数据采集和定时数据采集两大类,实时数据采集主要对于各项检测指标数据;非实时采集包括日检修数据等。 根据项目信息汇集要求,列车指标信息采集具有采集数据量大,采集频率高的特点,考虑到系统后期的扩展,因此在数据数据采集方面,要求采集体系支持高吞吐量、高频率、海量数据采集,同时系统应该灵活可配置,可根据业务的需要进行灵活配置横向扩展。 本方案在数据采集架构采用Flume+Kafka+Storm的组合架构,采用Flume和ETL 工具作为Kafka的Producer,采用Storm作为Kafka的Consumer,Storm可实现对海量数据的实时处理,及时对问题指标进行预警。具体采集系统技术结构图如下:

数据仓库与数据挖掘课后答案

第1章数据仓库的概念与体系结构 1.数据仓库就是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。 2.元数据是描述数据仓库内数据的结构和建立方法的数据,它为访问数据仓库提供了一个信息目录,根据元数据用途的不同可将数据仓库的元数据分为技术元数据和业务元数据两类。 3.数据处理通常分成两大类:联机事务处理OLTP和联机分析处理OLAP。 4.多维分析是指对以“维”形式组织起来的数据(多维数据集)采取切片(Slice)、切块(dice)、钻取(Drill-down 和Roll-up 等)和旋转(pivot)等各种分析动作,以求剖析数据,使用户能从不同角度、不同侧面观察数据仓库中的数据,从而深入理解多维数据集中的信息。 5. ROLAP是基于关系数据库的OLAP实现,而MOLAP是基于多维数据结构组织的OLAP实现。 6.数据仓库按照其开发过程,其关键环节包括数据抽取、数据存储与管理和数据表现等。 7.数据仓库系统的体系结构根据应用需求的不同,可以分为以下4种类型:两层架构、独立型数据集市、依赖型数据集市和操作型数据存储、逻辑型数据集市和实时数据仓库。 8.操作型数据存储实际上是一个集成的、面向主题的、可更新的、当前值的(但是可“挥发”的)、企业级的、详细的数据库,也叫运营数据存储。 9.“实时数据仓库”意味着源数据系统、决策支持服务和数据仓库之间以一个接近实时的速度交换数据和业务规则。 10.从应用的角度看,数据仓库的发展演变可以归纳为5个阶段:以报表为主、以分析为主、以预测模型为主、以营运导向为主、以实时数据仓库和自动决策为主。 11.什么是数据仓库?数据仓库的特点主要有哪些? 答:数据仓库就是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,通常用于辅助决策支持。 数据仓库的特点包含以下几个方面:(1)面向主题。操作型数据库的数据组织是面向事务处理任务,各个业务系统之间各自分离;而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点领域,一个主题通常与多个操作型业务系统或外部档案数据相关。(2)集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据作抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企事业单位一致的全局信息。也就是说存放在数据仓库中的数据应使用一致的命名规则、格式、编码结构和相关特性来定义。(3)相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供单位决策分析之用,对所涉及的数据操作主要是数据查询和加载,一旦某个数据加载到数据仓库以后,一般情况下将作为数据档案长期保存,几乎不再做修改和删除操作,也就是说针对数据仓库,通常有大量的查询操作及少量定期的加载(或刷新)操作。(4)反映历史变化。操作型数据库(OLTP)主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含较久远的历史数据,因此总是包括一个时间维,以便可以研究趋势和变化。数据仓库系统通常记录了一个单位从过去某一时点(如开始启用数据仓库系统的时点)到目前的所有时期的信息,通过这些信息,可以对单位的发展历程和未来趋势做出定量分析和预测。 12. 简述数据仓库4种体系结构的异同点及其适用性。 答:(1)两层架构(Generic Two-Level Architecture)。 (2)独立型数据集市(Independent Data Mart)。 (3)依赖型数据集市和操作型数据存储(Dependent Data Mart and Operational Data Store)。 (4)逻辑型数据集市和实时数据仓库(Logical Data Mart and Real-Time Data Warehouse)。 13. 答:数据仓库技术的发展包括数据抽取、存储管理、数据表现和方法论等方面。在数据抽取方面,未来的技术发展将集中在系统集成化方面。它将互连、转换、复制、调度、监控纳入标准化的统一管理,以适应数据仓库本身或数据源可能的变化,使系统更便于管理和维护。在数据管理方面,未来的发展将使数据库厂商明确推出数据仓库引擎,作为数据仓库服务器产品与数据库服务器并驾齐驱。在这一方面,

BI_数据仓库基础

1 BI Business Intelligence,即商业智能,商务智能综合企业所有沉淀下来的信息,用科学的分析方法,为企业领导提供科学决策信息的过程。 BOSS业务运营支撑系 BPM企业绩效管理 BPR业务流程重整 CRM客户关系管理 CUBE立方体 DM(Datamart)数据集市数据仓库的子集,它含有较少的主题域且历史时间更短数据量更少,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。 DM(DataMine)数据挖掘 DSS决策支持系统 EDM企业数据模型 3 ERP Enterprise Resourse Planning企业资源规划。它是一个以管理会计为核心的信息系统,识别和规划企业资源,从而获取客户订单,完成加工和交付,最后得到客户付款。换言之,ERP将企业内部所有资源整合在一起,对八个采购、生产、成本、库存、分销、运输、财务、人力资源进行规划,从而达到最佳资源组合,取得最佳效益。 4 ETL 数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终 按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。 KDD数据库中知识发现 5 KPI 企业关键业绩指标(KPI:KeyProcessIndication)是通过对组织内部流程的输入端、输出端的关键参数进行设臵、取样、计算、分析,衡量流程绩效的一种目标式量化管理指标,是把企业的战略目标分解为可操作的工作目标的工具,是企业绩效管理的基础。 LDM逻辑数据模型 6 MDD 多维数据库(Multi Dimesional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。 Metadata(元数据),它是“关于数据的数据,其内容主要包括数据仓库的数据字典、数据的定义、数据的抽取规则、数据的转换规则、数据加载频率等信息。 MOLAP自行建立了多维数据库,来存放联机分析系统数据 7 ODS(四个特点) (Oprational Data Store)操作型数据存储,是建立在数据准备区和数据仓库之间的一个部件。用来满足企业集成的、综合的操作型处理需要,操作数据存储是个可选的部件。对于一些准实时的业务数据库当中的数据的暂时存储,支持一些同时关连到历史数据与实时数据分

数据仓库与数据库

数据仓库与数据库的区别 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM 了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,

数据仓库与数据挖掘(陈志泊)_复习题答案

数据仓库与数据挖掘习题答案 第1章数据仓库的概念与体系结构 1. 面向主题的,相对稳定的。 2. 技术元数据,业务元数据。 3. 联机分析处理OLAP。 4. 切片(Slice),钻取(Drill-down和Roll-up等)。 5. 基于关系数据库。 6. 数据抽取,数据存储与管理。 7. 两层架构,独立型数据集市,依赖型数据集市和操作型数据存储,逻辑型数据集市和实时数据仓库。 8. 可更新的,当前值的。 9. 接近实时。 10. 以报表为主,以分析为主,以预测模型为主,以营运导向为主。 11. 答: 数据仓库就是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,通常用于辅助决策支持。 数据仓库的特点包含以下几个方面: (1)面向主题。操作型数据库的数据组织是面向事务处理任务,各个业务系统之间各自分离;而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点领域,一个主题通常与多个操作型业务系统或外部档案数据相关。 (2)集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据作抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企事业单位一致的全局信息。也就是说存放在数据仓库中的数据应使用一致的命名规则、格式、编码结构和相关特性来定义。 (3)相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供单位决策分析之用,对所涉及的数据操作主要是数据查询和加载,一旦某个数据加载到数据仓库以后,一般情况下将作为数据档案长期保存,几乎不再做修改和删除操作,也就是说针对数据仓库,通常有大量的查询操作及少量定期的加载(或刷新)操作。 (4)反映历史变化。操作型数据库(OLTP)主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含较久远的历史数据,因此总是包括一个时间维,以便可以研究趋势和变化。数据仓库系统通常记录了一个单位从过去某一时点(如开始启用数据仓库系统的时点)到目前的所有时期的信息,通过这些信息,可以对单位的发展历程和未来趋势做出定量分析和预测。 12. 答: (1)两层架构(Generic Two-Level Architecture)。 (2)独立型数据集市(Independent Data Mart)。 (3)依赖型数据集市和操作型数据存储(Dependent Data Mart and Operational Data Store)。 (4)逻辑型数据集市和实时数据仓库(Logical Data Mart and Real-Time Data

数据库与数据仓库的区别

数据库与数据仓库的区别: 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。 数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。 单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM 了。 显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。 数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。 “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。 “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

从数据库到数据仓库_陈前林

第19卷第3期湖 北 工 学 院 学 报2004年6月Vol.19No.3 Journal of Hubei Polytechnic University Jun.2004 [收稿日期]2004-03-01 [基金项目]国家863项目(2003AA414011)和武汉市重大科技计划项目(20023005133-04). [作者简介]陈前林(1980-),男,湖北大冶人,武汉理工大学硕士研究生,研究方向:数据挖掘. [文章编号]1003-4684(2004)06-0113-03 从数据库到数据仓库 陈前林,陈定方,李和平 (武汉理工大学智能制造与控制研究所,湖北武汉430063) [摘 要]通过对数据库技术发展的追溯,介绍了数据仓库的概念、产生、来源及其与数据库的区别,最后探讨了数据仓库的应用前景. [关键词]数据处理;数据库;数据仓库;数据挖掘;OL AP [中图分类号]T P311.132 [文献标识码]:A 1 数据库技术发展概述 数据处理主要就是对数据的管理[1].它主要完成对数据的分类、组织、编码、存储、检索和维护等功能.这也是数据处理的中心问题.近半个世纪以来,数据管理经历了三个发展阶段,分别是人工管理阶段,文件系统阶段和数据库系统阶段,数据仓库是数据库技术的进一步发展. 20世纪中期以前,计算机主要用于科学计算,计算机本身都不带有存储设备,也没有操作系统的概念,数据处理只有批处理方式.所有数据都不在计算机上保存,由应用程序员管理.应用程序员不仅要规定数据的逻辑结构,而且还要在应用程序中设计物理结构,包括规定数据的存储结构,存取方式等.20世纪50年代后期到60年代中期,数据处理处于文件系统阶段.计算机上出现了磁盘、磁鼓等随机存取设备,文件系统成为了专门的数据管理软件.这样,数据可以长期保存.并且,用文件系统来管理数据,使程序和数据之间有了一定的独立性,尽管这种独立性不是很强.此时的应用程序设计者必须对所用文件的逻辑结构及物理结构有清楚的了解,并且,由于文件系统仅提供了读、写等几个低级的文件操作命令,因而对文件的查询、修改、插入和删除等操作必须在应用程序内编写相应的程序代码来解决.这使得文件也是专门为某一特定的应用程序服务的,且编写应用程序的生产率不高,数据冗余度大. 20世纪60代后期以来,数据管理进入了数据库系统阶段.这一时期,计算机具有了庞大容量的存储设备和高速的信息处理能力.计算机软件、硬件都飞速发展,信息急剧膨胀;数据库技术也不断发展.数据库按照某种数据模型组织数据,不仅文件内部数据彼此相关,而且文件之间在结构上也有机地联系在一起.描述数据时,不仅描述数据本身,也描述数据之间的联系.在数据库中,数据也不再分属于各个应用程序,而是集中存放在数据库中,实行统一控制.这一时期,也出现了专门的数据库系统. 1969年,美国的IBM 公司开发了第一个数据库系统IMS (Information M anagement System ).这是一个层次数据库系统,在数据库系统发展史上有着重要的地位.同年,美国的数据系统语言委员会下属的数据库任务组提出了著名的DBT G 报告,并在1970年提出了该报告的修订版.这分报告定义了数据库操纵语言、模式定义语言和子模式定义语言的概念.数据库操纵语言用于编写操纵概念视图的应用程序,模式定义语言用来编写概念视图和内部视图相结合的模式程序.在20世纪70年代,开发了许多遵循DBTG 报告的网状数据库系统,如IDMS,IDS,DMSIIOO 等.20世纪70年代初,IBM 公司下属的San Jose 研究所的E.F.Codd 发表了题为 大型共享数据库数据的关系模型 的论文.他在论文中提出了关系数据模型的概念.他提出的关系代数和关系演算,使关系数据库从理论到实践都取得了辉煌的成果.在理论上,确立了完整的关系理论,数据

成功实施数据仓库项目的7个步骤

成功实施数据仓库项目的7个步骤 建立一个数据仓库并不是一个简单的任务,不应该由一个人单独完成。由于数据仓库最佳结合了业务惯例和信息系统技术,因此,一个成功的数据仓库实施需要这两方面的不断协调,以均衡其所有的需要,要求,任务和成果。我很乐意与大家分享我在规划和管理任何数据库项目时采用的方法,这些数据库包括交易数据库,数据仓库,和混合型数据库。由于我生活在关系数据库和数据仓库以及用以支撑它们的数据提取,转换和加载(ETL )过程中,所以我会集中在这些领域讨论我的方法。然而,您可以将这些方法扩展到整个栈--OLAP立方体和如报告,特征分析(ad-hoc analysis),记分卡和仪表盘展示之类的信息传递应用。 我不是吃撑了要告诉一个真正的项目经理( PM )如何做他或她的工作,相反,我写的这些是为那些数据库管理员和开发者,他们没有好运气能与有经验的项目经理一起工作;同样也适合这样的IT专业人员,他们被突然要求:“建立一个数据仓库“,并且需要自己扮演项目经理的角色。我的讨论不会是完整的,但我希望这会给您足够的信息来让您的项目球滚起来。

如图1所示,数据仓库项目有3个轨道(tracks):数据轨道,技术轨道和应用层轨道。当您在整理任何数据库项目计划时,我建议您以这三个轨道为模板来管理和同步您的活动。当您向技术决策者( TDMs ) ,商业决策者( BDMs ) ,和所有其他该数据仓库项目参与者讲解您的计划时,您也可以把图1当作一个高级的概要图来使用。 使用一种生命周期管理方法 我鼓励您利用您的组织可以提供的资源,比如设计,开发和部署系统和软件的技术和方法。如果贵公司对于这些工作没有采用任何正式的方法,继续前进吧,您可采用我为我自己的数据库项目开发的7D数据库生命周期管理方法(Discover, Design, Develop, Deploy, Day to Day , Defend, Decommission), 昵称“7D法”。 我的“7D”数据库生命周期管理方法讲的是数据库的生命周期管理,而不是相关的软件(应用程序)和硬件的生命周期。图1包括了软硬件轨道,但我不会进一步阐述它们的管理。为了成功实施数据库生命周期的方法,有必要调整和同步数据库生命周期的里程碑、硬件和应用软件。

数据仓库课后习题答案

第一章作业 1.数据库与数据仓库的本质差别是什么?书P2 (1)数据库用于事务处理,数据仓库用于决策分析。(2)数据库保持事物处理的当前状态,数据仓库即保存过去的数据又保存当前的数据。(3)数据仓库的数据是大量数据库的集成。(4)对数据库的操作比较明确,操作数量较小。对数据仓库操作不明确,操作数据量大。 6. OLTP OLAP 细节性数据综合性数据 当前数据历史数据 经常更新不更新,但周期性刷新 一次性处理的数据量小一次处理的数据量大 对响应时间要求高响应时间合理 面向应用,事务驱动面向分析,分析驱动 8.定义为关于数据的数据,描述数据仓库中数据及其环境的数据。 9.元数据不仅仅是数据仓库的字典,而且还是数据仓库本身功能的说明数据,是整个数据仓库的核心。数据字典是关于数据库中数据的描述,而不是数据本身,数据字典是数据库的元数据。 18、统计学与数据挖掘的不同。 统计学主要是对数量数据或连续值数据进行数值计算的定量分析,得到数量信息。数据挖掘主要对离散数据进行定性分析,得到规则知识。在统计学中有聚类分析和判别分析,它们与数据挖掘中的聚类和分类相似。但是,采用的标准不一样,统计学的聚类采用的“距离”是欧式距离,即两点间的坐标(数值)距离。而数据挖掘的聚类采用的“距离”是海明距离,即属性取值是否相同,相同者距离为0,不相同者距离为1。 总之,统计学与数据挖掘是有区别的,但是,它们之间是相互补充的。不少数据挖掘的著作中均把统计学的不少方法引入到数据挖掘中,与将机器学习中不少方法引入到数据挖掘中一样,作为从数据获取知识的一大类方法。 19、说明数据仓库与数据挖掘的不同。 数据仓库是在数据库的基础上发展起来的。它将大量的数据库的数据按决策需求进行重新组织,以数据仓库的形式进行存储,将为用户提供辅助决策的随机查询、综合信息以及随时间变化的趋势分析信息等。 数据仓库是一种存储技术,其数据存储量是一般数据库的100倍,包含大量的历史数据、当前的详细数据以及综合数据。它能适应不同用户对不同决策需要提供所需的数据和信息。 数据挖掘是从人工智能机器学习中发展起来的。它研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。最常用的数据挖掘方法是统计分析方法、神经网络方法和机器学习中研究的方法。数据挖掘中采用机器学习的方法有归纳学习方法(如覆盖正例排斥反例方法,如AQ系列算法、决策树方法等)、遗传算法、发现学习算法(如公式发现系统BACON)等。 利用数据挖掘的方法和技术从数据仓库中挖掘的信息和知识,反映了数据仓库中数据的规律性。用户利用这些信息和知识来指导和

相关文档
最新文档