随着某省移动公司的商业智能(BI)系统逐渐完善,激发了地市分公司旺盛的应用需求,具体表现为对数据粒度的要求更加精细、需求更加灵活多变、要求更强的可操作性。为了让省移动公司的经营分析系统在地市级公司
|
该平台作为省级经营分析数据仓库的子集,在保障与省级经营分析系统数据一致性的同时,将省级经 营分析系统的应用延伸到市场经营工作的关键环节,全面支撑地市分公司各部门的日常生产运营。"数据集市"可集中进行有针对性、及时、灵活、细化的数据分 析,能快速指导市场经营和生产活动,大大促进地市分公司进行精细化经营,进行更符合地区特征的营销分析和经营管理。同时,也进一步延伸和完善了省级移动经 营分析系统的价值链。
两种方式灵活选择
在前面的案例里提到了数据集市、数据仓库和经营分析系统。数据仓库(Data Warehouse)是指从多个数据源收集的信息,以一种一致的存储方式保存所得到的数据集合。数据仓库创始人之一Inmon的定义为:数据仓库是一个面 向主题的、集成的、稳定的、包含历史数据的数据集合,它用于支持管理中的决策制定过程。在构造数据仓库时,要经过数据的清洗、抽取转换、集成和加载等过 程。面向不同的需求,对数据进行清洗以保证数据的正确性,然后对数据进行抽取,转换成数据仓库所需形式,并实现加载到数据仓库。
移动公司的经营分析系统可以理解为就是数据仓库。数据仓库通常是企业级应用,因此涉及的范围和投入的成本非常巨大,使一些企业无力承担。因而,他们希望在最需要的关键部门建立一种适合自身应用的、自行定制的部门数据仓库子集。正是这种需求使数据集市应运而生。
数据集市(Data Mart)是聚焦在选定的主题上的,是部门范围的。在移动公司里,集团和省级公司使用数据仓库,而地市则使用数据集市进行区域化、个性化的数据分析。
在电信行业里,往往是先有数据仓库,再建设数据集市,也就是采取自上而下的方式。但这并不是唯一的方式。Sybase 公司技术总监卢东明向记者介绍,美国运通公司曾经针对信用卡防欺诈系统建立了一个数据集市,由于其他应用纷纷和这个数据集市相连,后来这个数据集市发展成为一个数据量为50TB的企业级数据仓库。运通公司采取的就是自下而上的方式,也就是先建数据集市,再发展为数据仓库。
关于自上而下和自下而上这两种方法孰优孰劣,一直存在着争论。在这里就要提到两个人-Ralph Kimball和Bill Inmon,他们一直是商业智能领域中的革新者,开发并测试了新的技术和体系结构,而且都撰写了关于数据仓库方面的多本书籍。
Inmon认为,应该围绕主题来组织数据仓库中的数据,例如客户、供应商、产品等等。每个主题 区域仅仅包含该主题相关的信息。数据仓库应该一次增加一个主题,并且当需要容易地访问多个主题时,创建以数据仓库为来源的数据集市。换言之,某个特定数据 集市中的所有数据都应来自于面向主题的数据存储。 Inmon 的方法包含了更多上述工作而减少了对于信息的初始访问。但他认为,这个集中式的体系结构持续下去将提供更强的一致性和灵活性,并且从长远来看,将真正节省 资源和工作。
而Kimball的观点是: "数据仓库仅仅是构成它的数据集市的联合"。他认为,"可以通过一系列维数相同的数据集市递增地构建数据仓库"。每个数据集市将联合多个数据源来满足特定 的业务需求。通过使用"一致的"维,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。 Kimball 的方法将提供集成的数据来回答企业迫切需要解决的业务问题,并且要快于 Inmon 的方法。Inmon 的方法是只有在构建几个单主题区域之后,集中式的数据仓库才创建数据集市。而 Kimball认为,该方法缺乏灵活性,并且在现在的商业环境中所花时间太长。
实际上,选择哪种方法取决于项目的主要商业驱动。如果企业正忍受糟糕的数据管理和不一致的数 据,或者希望为今后打下良好的基础,那么, Inmon 的方法就更好一些。 如果企业迫切需要给用户提供信息,那么, Kimball 的方法将满足该需求。而一旦满足了迫切的信息需求后,就应该考虑包含独立数据仓库的数据体系结构的转换计划。数据仓库将使数据集市与遗留系统和 OLTP 系统隔离,并且支持更快地创建将来的数据集市。
亚信科技资深方案设计师张健说:"在实际项目的建设过程中, 企业不会完全按照绝对的自上而下或是自下而上的方法去做。"
本报特约撰稿人刘庆表示,就国外成熟数据仓库厂商的理念而言,大多是以自上而下为主,采用 Bill Inmon的方法,先建立一套完美的企业数据仓库,并且他们通常针对行业已经设计出抽象程度比较高的概念模型,可以根据实际环境生成逻辑模型和物理模型。 在构建完美的数据仓库的时候,设计者会考虑最终有哪些应用,根据应用做取舍。
独立还是依赖
卢东明说:“在厂商的产品线中并没有区分数据仓库和数据集市,因为二者的基本技术是一致的。也不能简单地以容量划分数据仓库和数据集市,国外有的数据集市的容量达到了20TB,比很多数据仓库的容量还要大。”
数据集市可以分为两类:独立型和依赖型。在独立型数据集市中,数据来自一个或多个操作系统 或外部信息提供者,或者来自在一个特定的部门或地域局部产生的数据。依赖型数据集市中的数据直接来自企业数据仓库。
刘庆认为,目前,国内还是依赖型的数据集市居多。 两者的区别就在于是否从一个中央数据仓库而来。因为国内的数据仓库项目在开始阶段多是国外厂商推进的,肯定有些不理智,大多直接从数据仓库的概念入手,整 合分散的、异构的数据。而独立型数据集市是因为客户有分析需求,需要一些用于分析的数据支撑,所以在部分或者自己的区域内建立这种小型数据仓库。独立型数 据集市是服务具体分析应用的。
就应用而言,独立型和依赖型数据集市应该是相似 的,因为目前对于数据集市的建模方法基本一致:使用建立面向主题的星型模式,服务于某项分析应用。二者主要的差别还是在扩展性方面,独立型数据集市还是会 导致不一致的数据。因为它可能按照自己本地的方式来进行编码,当存在多个独立数据集市的时候,他们之间的数据很难共享。依赖型的数据集市则是按照中央数据 仓库统一的编码方式,可以共享。
数据结构
数据集市中数据的结构通常被描述为星型结构或雪花 结构。一个星型结构包含两个基本部分—一个事实表和各种支持维表。事实表描述数据集市中最密集的数据。在电话公司中,用于呼叫的数据是典型的最密集数据; 在银行中,与账目核对和自动柜员机有关的数据是典型的最密集数据。对于零售业而言,销售和库存数据是最密集的数据。(ccw-cnw)