一、数据仓库
关于数据仓库概念的标准定义业内认可度比较高的,是由数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出:
中文定义:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
英文定义:A data warehouse is a subject-oriented, integrated, nonvolatile, and time-variant collection of data in support of management’s decisions.
二、主题
主题是与传统数据库的面向应用相对应的,是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。每一个主题对应一个宏观的分析领域。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式, 就是在较高层次上对分析对象数据的一个完整并且一致的描 述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相 对面向应用的数据组织方式而言的, 是指按照主题进行数据组织的方式具有更高的数据抽象 级别。 与传统数据库面向应用进行数据组织的特点相对应, 数据仓库中的数据是面向主题进行组织的。主题是根据分析的要求来确定的。这与按照数据处理或应用的要求来组织数据是不同的。
三、主题域
主题域通常是联系较为紧密的数据主题的集合。可以根据业务的关注点,将这些数据主题划分到不同的主题域。主题域的确定必须由最终用户和数据仓库的设计人员共同完成。
四、主题域、主题、实体间关系
主题设计是对主题域进一步分解,细化的过程。主题域下面可以有多个主题,主题还可以划分成更多的子主题,而实体则是不可划分的最小单位。主题域、主题、实体的关系如下图所示:
五、关于主题域的争议
曾经在看到过关于主题域的另外一个定义方式:“主题域是对某个主题进行分析后确定的主题的边界”。相关内容如下文所示:
主题域是对某个主题进行分析后确定的主题的边界。分析主题域,确定要装载到数据仓库的主题是 信息打包技术的第一步。而在进行数据仓库设计时,一般是一次先建立一个主题或企业全部主题中的一部分,因此在大多数数据仓库的设计过程中都有一个主题域的 选择过程。主题域的确定必须由最终用户和数据仓库的设计人员共同完成。
比如,对于Adventure Works Cycle这种类型的公司管理层需要分析的主题一般包括供应商主题、商品主题、客户主题和仓库主题。其中商品主题的内容包括记录超市商品的采购情况、商品 的销售情况和商品的存储情况;客户主题包括的内容可能有客户购买商品的情况;仓库主题包括仓库中商品的存储情况和仓库的管理情况等,如图3-31所示。
图3-31 根据业务情况确定的分析主题
确定主题边界实际上需要进一步理解业务关系,因此在确定整个分析主题后,还需要对这些主题进行初步的细化才便于获取每一个主题应该具有的边界。对于图3-31的4个主题及其在企业中的业务关系可以确定边界如图3-32所示。
图3-32 主题域的划分
经过对以上内容深入分析,发现此定义与:”主题域通常是联系较为紧密的数据主题的集合“并不矛盾,只是所站的视角不同,“数据主题集合”的观点从数据着眼,前提是已经经过分析、梳理列出所有可能的数据主题,此处数据主题是细粒度的,是从微观到宏观;“边界论”的观点中,某个主题是分析的主题,是宏观概念,而非数据主题。
六、未完待续
分布式数据仓库数据存储模型设计进行中,后续会持续更新,请关注QQ群:分布式数据仓库建模 398419457。