内容简介本书从维度结构建模的基本知识入手,通过给出零售、库存、采购、定单管理、顾客关系管理、帐目、人力资源管理、财经服务、电信与公用事业、交通、教育、卫生护理、
电子商务以及保险等方面的实例研究,全面、深入、透彻与具体地介绍了利用维度模型
设计与开发数据仓库的综合
技术知识。同时,本书对数据仓库在当前社会与技术背景下的发展前景进行了很有远见的探索。本书先介绍基本知识,然后逐个讨论具体实例内容,最后进行综合总体
分析,在内容的结构方面很有特色。
本书涉及的行业较多,但这些内容从不同角度体现了数据仓库的各个方面,因而对于完整地学习与掌握数据仓库知识显得十分必要。
本书主要是为数据仓库设计人员、技术人员以及管理人员而写的。此外,对于积极参与数据仓库的初期规划工作的业务分析人员来说,本书也有很好的学习价值。
序言/前言译者序数据仓库是近年来适应利用数据支持决策分析的强烈需求而发展起来的
数据库应用技术。诚然,数据仓库以数据库为
基础,但它在需求、客户、体系结构与运行机制等方面与数据库存在重大的不同。ralphkimball说:“我们花了二十年的时间往数据库中加入数据,现在该是拿出来使用的时候了。”不过,正如许多人错误地认为“数据仓库只是数据库在企业某个地方的拷贝”一样,有人认为,以传统数据库单一数据资源为中心并主要按记录形式进行的插入、更新与查询等数据库日常事务操作是必不可少的,而数据仓库分析型应用则是可选的。这种看法似乎有道理,但是随着时代与技术的高速发展,谁愿意仅仅停留在数据本身的操作之上并依靠人力做出分析决策,而不通过精确、高效、快速与全面的数据分析去获取更大的效益呢?从这个意义上讲,数据仓库将不仅显得必要,而且是数据处理的发展方向。这便是数据仓库能掀起数据库热的重要原因。ralphkimball是数据仓库界最知名的演讲者、咨询师与授课人之一。他致力于数据仓库的应用与教学已有二十多年的历史。几年来,ralphkimball独立或者与他人合作编写了多部数据仓库方面的专著。其中,1996年《数据仓库工具箱》一书(本书的第一版)的出版被认为是数据仓库方面具有里程碑意义的事件,该书也成为畅销书。目前,ralphkimball是数据仓库方面的权威。他提出的许多维度建模概念被广泛应用于数据仓库的设计与开发之中,相关书籍逐渐成为这方面的经典著作。阅读ralphkimball的书,你会从各个方面感受到一位老师,或者说大师正在给你授课。当然,ralphkimball的语气似乎略显主观,但不妨认为,正是他的造诣才使其见解显得鲜明而直接。参与本书翻译的还有王璐、沈鑫剡、胡勇强、李志、白志勇、谭晓辉、王光金、唐捷、陈林等,在此一并致谢。数据仓库是一门新兴技术,参考
资料不多,术语使用很不统一,并且本书涉及其他行业的较多专业知识,加之译者水平有限,译文中必定存在错误和不当之处,恳请读者不吝赐教。ralphkimball说:“我们从你那里学到的与我们教授给你的一样多。”译者更深信,“从你那里学到的与我翻译给你的一样多!”译者前言数据仓库行业自1996年ralphkimball发表《数据仓库工具箱》第一版(wiley出版)以来,已经逐步走向成熟。虽然最初只是一些大型公司涉足其间,但从那时起,数据仓库技术开始被各种规模的机构所使用。目前,产业界已经建造了成千上万的数据仓库,数据容量正随着日益增多的原子型数据的加入以及十分频繁的更新操作的进行而持续地增长。同时,越来越多的用于帮助人们设计、开发与应用数据仓库的工具,纷纷由厂家推向市场。最为重要的是,业务人员通过使用数据仓库,能够更好地做出决策并因数据仓库的投资而获取回报。《数据仓库工具箱》第一版的发表,使维度建模方法作为展示数据仓库的主导技术被广泛地接受。数据仓库方面的普通从业人员与专家一样都意识到,数据仓库的展示只有立足于简单性才有望获得成功。简单性是使数据库能够容易地被用户所理解,以及使数据库
软件能高效地运行的基本要件。在很大程度上,简单性掌控着维度建模应用的命脉。注重以业务需求作为考虑问题的出发点,并坚持将用户的可理解性与查询性能作为设计的目标,就能够建立起满足机构分析需要的完备设计。根据我们自己的经验以及来自许多像你一样的公司从业人员的大量反馈来看,我们深信,维度建模对于发起一个成功的数据仓库应用是绝对重要的。同时,维度建模方法还在建立分布式数据仓库系统方面,发挥着惟一配套体系的作用。通过在一组维度模型中使用一致的维度与一致的事实,可以得到一个可预见的实用框架,从而逐步、递增地建立没有中心环节的复杂数据仓库系统。虽然数据仓库产业内的一切都在迅速地变化,但ralphkimball于6年前发表的维度建模核心技术却经受住了时间的
检验。诸如渐变维度、异构产品、非事实型事实表与体系结构数据中心这样的一些概念,今天仍然在世界范围的数据仓库设计专题讨论会议上持续得到关注。某些原始概念已经随着新的补充方法的出现而得到修改与扩展。决定出版kimball原著第二版的原因是,我们认为,将维度建模方面的集体思想通过成套丛书的形式组织在一起,将是非常有用的。20多年来,本书的每位作者都一直致力于开展决策支持与数据仓库方面的工作。我们希望把数据仓库从业经历中反复出现的维度建模模式,拿出来与你一起分享。本书配有许多基于现实世界的应用情景给出的具体而可行的推荐方案。本书的目标是为维度建模技术提供一个百货店。正如书名所体现的那样,本书是关于维度建模原理与技术的工具箱。我们在注重给出那些刚刚接触维度数据仓库的读者所需要的知识的同时,也对一些高级概念进行了描述,以满足那些在这方面具有一定基础的读者的需要。我们相信,本书在覆盖维度建模主题的内容深度方面是别具一格的。◣x.1读者对象本书主要是为数据仓库设计人员、技术人员以及管理人员而写的。此外,对于积极参与数据仓库初期规划工作的业务分析人员来说,本书也有很高的学习价值。即使不直接负责维度模型的开发工作,但作为数据仓库项目组的成员,每个人对维度建模的概念有所了解也是非常重要的。维度模型对数据仓库实施的多个方面都有影响,这些方面涵盖从业务需求转换开始,经过数据转储,最后到通过分析型应用对数据仓库进行揭示等环节。由于这些工作涉及面十分广泛,因此项目团队需要对维度建模非常精通,而不管各自的主要职责内容是项目管理、业务需求分析、数据体系结构、数据库设计、数据转储、分析型应用还是培训与保障等。本书的写作就考虑了读者在这些方面的广泛需要。对于已经阅读过本书第一版的读者来说,将会看到有些熟悉的
案例研究重新出现在了本书中,不过,本书还是对它们进行了很大的更新,并增加了更为丰富的内容。书中为包括卫生护理、电信与
电子商务等在内的新行业,开发了一些简单的应用。此外,本书也为诸如人力资源、账目管理、采购与客户关系管理这样的业务功能,引入了较多的可跨行业横向使用的案例研究。本书略微涉及了一些技巧性的内容。维度建模主要是以关系型数据库作为背景来进行讨论的,并假定读者已经具备了诸如表、行、关键字与连接之类的关系型数据库概念方面的基本知识。这样做是考虑到如果不以一门特定技术为背景,而只是对维度模型进行泛泛的讨论,就不可能深入到具体的
物理设计内容中去,从而也就不可能为任何一种数据库管理系统提供统一的指导。◣x.2各章预览本书是围绕一系列业务的简单应用或者案例研究来组织内容的。我们认为,对照实例来开发设计技术是特别有效的方法,因为这可以使人体会到实实在在的启发。虽然并不打算将这些实例当做完整的应用或者行业方案,但它们也确实起到了作为讨论维度建模中出现的模式框架的作用。经验表明,通过从所有自己过于熟悉的应用复杂性中挣脱出来而考虑另外的业务,通常就更容易抓住设计技术的主要部分。第一版的读者已经对这种方法表示出浓厚的兴趣。本书各章是相互照应的。翻开书本首先看到的是些基本概念,然后才逐步引入比较高级的内容。每位读者最好按顺序来阅读所有各章。比如说,除非已经阅读了前面介绍零售、采购、订单管理与客户关系管理等内容的几章,否则对于第15章描述保险的内容是很难理解的。看过第一版的读者可能倾向于跳过本书的开头几章。虽然前面关于事实与维度的背景知识可能是你再熟悉不过的草根皮,但还是希望你不要跑得太过于靠前。例如,尽管第一个实例研究确实像第一版所做的那样,将注意力集中在零售行业方面,但是,该版本却推出一种全新的方法,并用它来给出一个致力于处理机构原子型基本数据的更为全面的实例。如果你向前跳得太快,就会错过这样的原理性内容以及针对基本概念做出的其他更新。x.2.1导读内容本书用提示、关键概念与各章指南等内容对正文进行了修饰,以帮助现在的阅读和将来更容易的查阅。此外,本书还提供了一个经过扩展的术语表。翻动各章的书页并寻找本行左边的那个灯泡图标,就可以看到分散在本书各处的提示内容。每章都从用一个钥匙图标指示的关键概念列表开始。◣x.3各章目的在开始叙述正文之前,我们想先在书的前面逐章预览一下各自所覆盖的概念。第1章:维度建模初步本书从维度建模的初步知识开始讨论。这一章从总体上开发了数据仓库体系结构的组成部分,并建立了将在本书其余部分使用的核心术语表。同时,对一些关于维度建模方面的神话与误解进行了疏导。此外,还讨论了
规范化模型所承担的作用。第2章:零售营销零售处理是用于图解维度建模的经典实例。之所以用这个经典例子作为第一个实例,是因为考虑到大家对它都比较熟悉。这样,你用不着对行业内容进行苦思瞑想,相反,应该将注意力集中在维度建模的核心概念上。本章首先讨论了用于设计维度模型的四步处理过程。接着,从深度上探讨了维度表,这包括将在整本书中反复重用的日期维度。另外,还讨论了退化维度、雪花处理与代理关键字方面的内容。即使你不是一个零售从业人员,也需要阅读本章,因为其中充满了对各种基础内容的介绍。第3章:库存本章仍然在零售业范围内讨论本书的第二个实例研究,但将注意力转向了另外一个业务处理。这个实例研究为数据仓库总线结构以及一致的维度与数据的使用,提供了一个非常生动的例子。这些概念对于任何准备构造一个可扩展的集成数据仓库体系结构的人员来说,都是极为关键的。第4章:采购本章随着数据仓库建立的逐步深入,进一步强调了使用机构值链的重要性。同时,开发了一系列处理渐变维度属性的基本与高级技术方法。第5章:订单管理在本实例研究中,简要地介绍了那些提供核心业务性能度量指数而经常要在数据仓库中首先实施的业务处理,这些度量指数包括“以何种价格向哪些顾客销售什么产品”等。其次,本章讨论了维度在单个设计结构中承担多种角色的情形。同时,还探讨了在处理订单管理
信息时,建模人员要面临的一些常见挑战,比如标题/分列项目考虑因素、多种流通货币或者度量单位以及具有辅助事务指示符的杂项维度等。另外,对事务、周期快照与累积快照这三种基本类型的事实表进行了比较。本章最后为具有更多实时性要求的数据仓库处理提供了一些建议。第6章:客户关系管理大量的数据仓库都是在需要更好地了解与服务顾客的期望中建立起来的。本章覆盖了包括地址
标准化、大容量维度的管理与针对不可预见的顾客层次体系进行建模等在内的有关顾客维度的主要考虑内容。同时,还讨论了多源顾客数据的合并。第7章:账目这是全新的一章,讨论了在数据仓库中对一般分类总账信息进行建模的知识。同时,还描述了本年度至今的事实与多种财政年度安排表的合适处理,以及对来自多个业务处理的数据进行组合的合并维度模型概念等。第8章:人力资源管理在这个新增的一章里,探讨了许多特定于人力资源维度模型的内容,比如维度表在什么情形下开始呈现出事实表的特点。另外,本章还引入了审计与关键词维度以及调查表数据的处理等。第9章:财经服务在本章的
银行实例研究中,提出了其中的每项业务都具有惟一描述属性与性能度量指数的异构产品的概念。显然,异构产品的处理需要并不仅仅局限于财经服务方面。其次,本章还讨论了账户、顾客与家庭方面的复杂关系。第10章:电信与公用事业这是新增的一章,在内容编排上具有某种程度的不同,其目的在于突出针对数据模型设计内容进行评估时要考虑的因素。此外,本章还探讨了地理位置维度的特性以及支持地理信息系统的可能性等内容。第11章:交通在本章的实例研究中,简单地描述了处在不同粒度层次上的相关事实表。同时,讨论了处理微型维度的另外一种方法,并比较详细地考察了涵盖诸如国别的历法与跨多个时区的时间同步之类的概念的日期与时间维度。第12章:教育本章对几个非事实型事实表进行了考察,并讨论了它们在分析没有出现的内容方面所具有的重要性。除此之外,还建立了一个学生应用流水线,这也是累积维度快照事实表方面的一个初步实例。第13章:卫生护理通常遇到的一些最为复杂的模型非卫生护理行业莫属。在这个新增的一章里,阐述了针对这些复杂问题进行处理的内容,比如,使用桥接表对与病人治疗有关的多项诊断与提供者进行建模。第14章:电子商务本章简单地介绍针对网上点击数据进行建模的知识。这里涉及的一些概念是从ralphkimball与richardmerz合著的《数据网库综合开发技术》(thedatawebhousetoolkit)一书(由wiley于
2000年出版)中衍生而来的。第15章:保险业作为本书的最后一个实例研究,本章以单个互相关联的方案组的形式,叙述了在本书前面已经讨论过的多种技术方法。本章可以看做是对所有内容的一个汇总,因为各建模技术方法之间具有一定的层次关系,其情形就像高射投影仪透明胶片相互重叠一样。第16章:建立数据仓库在了解了维度模型的设计内容之后,本章从一个较高的视角层次,对典型数据仓库项目迭代设计的生命期内出现的行为内容进行了概括。这一章可看做是对由laurareeves与warrenthornthwaite合著的《数据仓库生命周期模式工具箱》(thedatawebhouselifecycletoolkit)一书(由wiley于1998年出版)的快速浏览。第17章:相关知识与展望作为本书的最后一章,本章对数据仓库应用的将来发展做出了预示。术语表本书最后给出了一个作为参考资源的详细术语表。它在你自己领域的一般业务理解与其他业务实例研究之间架起了一座进行沟通的桥梁。◣x.4配套的web站点你可以访问本书配套的web站点:www.kimballuniversity.com。从网站可以得到如下资源:
注册“设计技巧”(designtips)服务,从而可以通过电子邮件获取为维度建模与数据仓库设计定期发布的后续实用指南。连接ralphkimball在《智能公司》(intelligenctenterprise)及其前身《dbms杂志》(dbmsmagzine)上发表的所有文章。学习kimball大学根据作者的经历与著作开设的独立于厂家平台的高级培训课程。◣x.5总结本书的目标是为维度数据仓库的设计介绍一套标准的技术方法。简略地说,作为读者,如果通过本书的阅读能建立起数据仓库必须由业务用户的需要来驱动,并因此从一个简单的维度视角来建立与展示数据仓库这样的理念,那么本书就达到目的了。我们深信,有了这些前提,你已向成功的数据仓库设计迈出了一大步。到此为止,你应该知道我们要努力实现的目标了,当然该是深入讨论细节内容的时候了。第1章将从维度建模的初步知识开始介绍,以便统一给出一些关键的术语与有关体系结构的概念。随后,将从屡试不爽的零售业入手,讨论维度建模的基本技术方法。