① 数据集市的特征
1.数据集市的特征包括规模小。
2.有特定的应用。
3.面向部门。
4.由业务部门定义、设计和开发。
5.业务部门管理和维护。
6.能快速实现。
7.购买较便宜。
8.投资快速回收。
9.工具集的紧密集成。
10.提供更详细的、预先存在的、数据仓库的摘要子集。
11.可升级到完整的数据仓库。
② 什么是数据集市
数据集市
单独的 DB2 数据库包括企业的数据集市。每个数据集市包括来自中央数据仓库的历史数据的子集,用以满足特定部门、团队、客户或应用程序分析和报告需求。主管此 DB2 数据库的系统称为数据集市服务器。尽管可以有许多数据集市,但只能有一个数据集市服务器。
数据集市组件需要 IBM DB2 Universal Database Enterprise Edition,您必须在安装控制服务器前手工安装它。
IBM Tivoli Monitoring for Transaction Performance 仓库包创建结构适用于报告界面的数据集市。IBM Tivoli Monitoring for Transaction Performance 通过提供一个称为数据集市 ETL 的抽取、转换和装入(ETL)过程来实现此操作,该进程创建数据集市并将来自中央数据仓库的数据装入其中。
可以修改现有的数据集市或创建包含略微不同的数据的新数据集市,以迎合您所在环境下的特定报告需要。要修改或创建数据集市,必须熟悉数据库 ETL 过程以及数据集市在 Tivoli Enterprise Data Warehouse 数据库中的内部星型模式表示。关于此方面的更多信息,请参阅 Enabling an Application for Tivoli Enterprise Data Warehouse。
③ 数据集市的数据结构
数据集市中数据的结构通常被描述为星型结构或雪花结构。一个星型结构包含两个基本部分——一个事实表和各种支持维表。 事实表描述数据集市中最密集的数据。在电话公司中,用于呼叫的数据是典型的最密集数据;在银行中,与账目核对和自动柜员机有关的数据是典型的最密集数据。对于零售业而言,销售和库存数据是最密集的数据等等。
事实表是预先被连接到一起的多种类型数据的组合体,它包括:一个反映事实表建立目的的实体的主键,如一张订单、一次销售、一个电话等等,主键信息,连接事实表与维表的外键,外键携带的非键值外部数据。如果这种非键外部数据经常用于事实表中的数据分析,它就会被包括在事实表的范围内。事实表是高度索引化的。事实表中出现30到40条索引非常常见。有时实事表的每列都建了索引,这样作的结果是使事实表中的数据非常容易读取。但是,导入索引所需的资源数量必须为等式提供因数。通常,事实表的数据不能更改,但可以输入数据,一旦正确输入一个记录,就不能更改此记录的任何内容了。 维表是围绕着事实表建立的。维表包含非密集型数据,它通过外键与事实表相连。典型的维表建立在数据集市的基础上,包括产品目录、客户名单、厂商列表等等。
数据集市中的数据来源于企业数据仓库。所有数据,除了一个例外,在导入到数据集市之前都应该经过企业数据仓库。这个例外就是用于数据集市的特定数据,它不能用于数据仓库的其他地方。外部数据通常属于这类范畴。如果情况不是这样,数据就会用于决策支持系统的其他地方,那么这些数据就必须经过企业数据仓库。
数据集市包含两种类型的数据,通常是详细数据和汇总数据。 数据集市包含的第二种类型数据是汇总数据。分析人员通常从星型结构中的数据创建各种汇总数据。典型的汇总可能是销售区域的月销售总额。因为汇总的基础不断发展变化,所以历史数据就在数据集市中。但是这些历史数据优势在于它存储的概括水平。星型结构中保存的历史数据非常少。
数据集市以企业数据仓库为基础进行更新。对于数据集市来说大约每周更新一次非常平常。但是,数据集市的更新时间可以少于一周也可以多于一周,这主要是由数据集市所属部门的需求来决定的。
④ 数据集市的常见问题
建立不同规格的数据仓库、数据集市的成本,国外的咨询机构有专门的评估,在一定程度上可以借鉴。但
是这些结果在国内也许并不适用,因为国情不同,在国内的构建成本需要专门的调研。以人们为企业构建的客户主题数据集市为例,一般成本在20万元到50万元人民币之间。数据集市的设计可以采用迭代式的方法。在迭代式开发中,每个迭代为上一次的结果增加了新的功能。功能增加的顺序要考虑到迭代平衡以及尽早发现重大风险。通俗地说,就是在正式交货之前多次给客户交付不完善的中间产品“试用”。这些中间产品会有一些功能还没有添加进去、还不稳定,但是客户提出修改意见以后,开发人员能够更好地理解客户的需求。如此反复,使得产品在质量上能够逐渐逼近客户的要求。这种开发方法周期长、成本高,但是它能够避免整个项目推倒重来的风险,比较适合大项目、高风险项目。
理论上讲,应该有一个总的数据仓库的概念,然后才有数据集市。实际建设数据集市的时候,国内很少这么做。国内一般会先从数据集市入手,就某一个特定的主题(比如企业的客户信息)先做数据集市,再建设数据仓库。数据仓库和数据集市建立的先后次序之分,是和设计方法紧密相关的。而数据仓库作为工程学科,并没有对错之分。
⑤ 软件数据架构中的数据仓库和数据集市是什么意思
没有本质的区别,数据集市范围比较小,一般是个别部门的数据。 而数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的一系列整合的数据。
⑥ 数据集市与数据仓库有什么区别
都是数据库里面的概念,本质上并没有什么不同。
从字义上看, “仓库”可以想象成一所大房子,高高的货架,合理的出入路线,是一种集中存储货物的地方,一般顾客是不来参观访问的; 而说到“集市”,就容易联想到空旷的场地,川流不息,大小商户摆出摊子,卖衣物的、卖烧饼及卖艺的,是让顾客来消费的地方。 具体来说,数据仓库仅仅是提供存储的,提供一种面向数据管理的服务,不面向最终分析用户;而数据集市是面向分析应用的,面向最终用户。
⑦ ETL是什么,形象的介绍一下
对于做过 BI 开发的朋友,ETL 并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL 就这三个阶段,Extraction 抽取,Transformation 转换,Loading 加载。
从不同数据源抽取数据 EXTRACTION ,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。
再通俗一点讲,ETL 的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。
在开发的时候,大部分时候会通过 ETL 工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER 里面的 SSIS 等等,在结合基本的 SQL 来实现整个 ETL 过程。
也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL 实现。
哪种方式更好,也是需要看使用场景和开发人员对那种方式使用的更加得心应手。我看大部分软件程序开发人员出身的,碰到数据类项目会比较喜欢用程序控制跑批,这是程序思维的自然延续。纯 BI 开发人员大部分自然就选择成熟的 ETL 工具来开发,当然也有一上来就写程序脚本的,这类 BI 开发人员的师傅基本上是程序人员转过来的。
用程序的好处就是适配性强,可扩展性强,可以集成或拆解到到任何的程序处理过程中,有的时候使用程序开发效率更高。难就难在对维护人员有一定的技术要求,经验转移和可复制性不够。
用 ETL 工具的好处,第一是整个 ETL 的开发过程可视化了,特别是在数据处理流程的分层设计中可以很清晰的管理。第二是链接到不同数据源的时候,各种数据源、数据库的链接协议已经内置了,直接配置就可以,不需要再去写程序去实现。第三是各种转换控件基本上拖拉拽就可以使用,起到简化的代替一部分 SQL 的开发,不需要写代码去实现。第四是可以非常灵活的设计各种 ETL 调度规则,高度配置化,这个也不需要写代码实现。
所以在大多数通用的项目中,在项目上使用 ETL 标准组件开发会比较多一些。
ETL 从逻辑上一般可以分为两层,控制流和数据流,这也是很多 ETL 工具设计的理念,不同的 ETL 工具可能叫法不同。
控制流就是控制每一个数据流与数据流处理的先后流程,一个控制流可以包含多个数据流。比如在数据仓库开发过程中,第一层的处理是ODS层或者Staging 层的开发,第二层是 DIMENSION维度层的开发,后面几层就是DW 事实层、DM数据集市层的开发。通过ETL的调度管理就可以让这几层串联起来形成一个完整的数据处理流程。
数据流就是具体的从源数据到目标数据表的数据转换过程,所以也有 ETL 工具把数据流叫做转换。在数据流的开发设计过程中主要就是三个环节,目标数据表的链接,这两个直接通过 ETL 控件配置就可以了。中间转换的环节,这个时候就可能有很多的选择了,调 SQL 语句、存储过程,或者还是使用 ETL 控件来实现。
有的项目上习惯使用 ETL 控件来实现数据流中的转换,也有的项目要求不使用标准的转换组件使用存储过程来调用。也有的是因为数据仓库本身这个数据库不支持存储过程就只能通过标准的SQL来实现。
我们通常讲的BI数据架构师其实指的就是ETL的架构设计,这是整个BI项目中非常核心的一层技术实现,数据处理、数据清洗和建模都是在ETL中去实现。一个好的ETL架构设计可以同时支撑上百个包就是控制流,每一个控制流下可能又有上百个数据流的处理过程。之前写过一篇技术文章,大家可以搜索下关键字 BIWORK ETL 应该在网上还能找到到这篇文章。这种框架设计不仅仅是ETL框架架构上的设计,还有很深的ETL项目管理和规范性控制器思想,包括后期的运维,基于BI的BI分析,ETL的性能调优都会在这些框架中得到体现。因为大的BI项目可能同时需要几十人来开发ETL,框架的顶层设计就很重要。
⑧ 数据仓库和数据集市的区别
数据集市作为数据仓库的一个组成部分,应从数据仓库中导出,也就是说,首先要建立数据仓库,然后从数据仓库自然生成数据集市。
但在财务、人力资源及管理部门,在技术和管理的成熟度有限的情况下,先建立数据集市可以达到先取得试点经验,然后成熟一个又一个的效果。这听起来是不错,但是需要注意的是数据仓库的宗旨是为企业信息系统提供一个集成的解决办法,不管数据集市大小,都要建立在数据仓库的总体设计框架上,一定要在确定企业级数据仓库的大前提下着手开发数据集市。不管用哪一种方式,都要实行集中化的设计,任何数据集市设计都要在企业级的数据仓库概念设计的原则指导下进行,实行标准化并采用共享的参照表和维表。
⑨ 什么是数据集市
数据集市(Data Mart) ,也叫数据市场,是一个从操作的数据和其他的为某个特殊的专业人员团体服务的数据源中收集数据的仓库。
⑩ 数据集市的主要意义
快速发展的、充满竞争的商业世界对于及时、准确的信息有着永无止境的需求,一些IT专家对此认为其必然结果就是创建数据集市。其他专家却质疑用户和客户所要付出的工作和成本。毕竟,难道不能直接从遗留系统和在线事务处理(On Line Transaction Processing,OLTP)系统通过特定的报表获得相同的信息吗?在EDS 的商业智能小组里,人们就经常被问到这一问题。经验让人们有许多机会使人们的同行和客户了解这项有用技术的价值。
那么,一个组织为何要构建数据集市呢?虽然OLTP和遗留系统拥有宝贵的信息,但是可能难以从这些系统中提取有意义的信息并且速度也较慢。而且这些系统虽然一般可支持预先定义操作的报表,但却经常无法支持一个组织对于历史的、联合的、“智能的”或易于访问的信息的需求。因为数据分布在许多跨系统和平台的表中,而且通常是“脏的”,包含了不一致的和无效的值,使得难于分析。数据集市将合并不同系统的数据源来满足业务信息需求。
若能有效地得以实现,数据集市将可以快速且方便地访问简单信息以及系统的和历史的视图。一个设计良好的数据集市将会:发布特定用户群体所需的信息,且无需受制于源系统的大量需求和操作性危机。支持访问非易变(nonvolatile)的业务信息。(非易变的信息是以预定的时间间隔进行更新的,并且不受OLTP系统进行中的更新的影响)。调和来自于组织里多个运行系统的信息,比如账目、销售、库存和客户管理以及组织外部的行业数据。通过默认有效值、使各系统的值保持一致以及添加描述以使隐含代码有意义,从而提供净化的(cleansed)数据。为即席分析和预定义报表提供合理的查询响应时间(不同于OLTP系统中所需的调优需求)。通过提供对于遗留系统和OLTP应用程序的选择来减少对这些应用程序的要求,以获得更多所需信息。