企业数字化:如何构建数据仓库
数据仓库的由来
“数据仓库”(Data WareHouse)的概念可以追溯到80 年代中期,最初数据仓库是想为操作型系统到决策支持环境的数据流提供一种体系结构模型,并尝试解决和这些数据流相关的各种问题。
在缺乏“数据仓库”体系结构的情况下,企业内部存在许多冗余的、重复建设的报表系统。这些报表系统被不同类型的用户使用,数据的抽取层次复杂,最初在联机事务处理(OLTP:On-Line Transaction Processing)系统上抽取,再在抽取后的数据集上抽取,呈网状关系。由于没有公共的数据源,数据不一致的问题特别显著,导致了报表可信度下降,难以支撑决策。
为了解决上述问题,数据仓库应运而生。数据仓库构建了一种以集中式的数据存储为核心的体系结构,形成了一种与OLTP系统独立的联机分析处理(OLAP:On-Line Analytical Processing)系统。
由于最终用户的数据需求是不断变化的,而且各种类型的用户对信息的需求也不一样,这就要求数据仓库存储的数据具有充分的灵活性,能够适应各类用户的查询和分析。另一方面,最终用户对信息的需求必须易于访问,能够在较高的性能上获得结果。
灵活性和性能对数据仓库而言,是一对矛盾体。为了适应灵活性的要求,数据仓库需要存储各种历史数据,以规范化的模式存储,一般采用第三范式。对于不同部门所需要的信息,往往需要在许多张大表上连接后才能得到,这样可能无法满足用户快速查询的需求。
数据集市
为了解决灵活性和性能之间的矛盾,数据仓库体系结构中增加了数据集市(Data Mart),数据集市存储为特定用户需求而预先计算好的数据,从而满足用户对性能的需求。
下表展示了数据仓库和数据集市的区别。
数据仓库的构建方法
最常见的三种数据仓库建模方法是:规范化(normalized)建模,维度建模和独立数据集市。
规范化建模,即范式化建模,数据仓库的设计符合范式。首先对ETL得到的数据进行ER建模(关系建模),得到一个规范化的数据库模式。然后用这个中心数据库为各部门建立基于维度建模的数据集市。各部门都从这些数据集市提数,不允许直接访问中心数据库。
维度建模,首先设计一组常用的维度集合,然后创建一个大星座模型表示所有分析型数据。
独立数据集市的建模体系是让公司的各个部门自己创建并完成ETL,自己维护自己的数据集市。
独立数据集市是一种不值得推荐的方式,因为各部门独立开发ETL,将使信息分散,ETL工具无法复用,造成资源浪费。
规范化数据仓库和维度建模数据仓库分别是Bill Inmon和Ralph Kimball提出的方法,哪种方法更优的争论由来已久。
规范化数据仓库需要对企业全局进行规范化建模,这将导致较大的工作量。也就导致规范化数据仓库需要一定时间才能投入使用,敏捷性相对后者来说略差。
我个人倾向于维度建模的方法,因为实际业务也在不断发生变化,很多时候计划赶不上变化快。采用维度建模的方法,可以加快地投入使用,优先解决核心的数据需求。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.hezhubi.com/database-2.htm
共有 0 条评论