为什么要建立数据仓库?
通常我们为应用程序建立数据库就好了,为什么还要建立数据仓库呢?它比我们通常建立的数据库好在哪里呢?
首先看一下什么是商务智能BI?
商务智能(Business Intelligence)指的是用于支持制定业务决策的技能、流程、技术、应用和实践。核心是通过数据提取、整理、分析,最终通过分析结果制定有关策略、规划,帮助企业了解新的趋势、抓住新的市场机会、发现潜在的威胁,达到资源的合理配置,节约成本提高效益。
那么商务智能和数据仓库有什么关系呢?
数据仓库是指整个商务智能环境中数据存储的核心基础设置。
也就是说数据仓库是商业智能的基础,它为OLAP、数据挖掘提供分析和决策支持。
为什么不直接访问源业务系统,而要创建一个新的数据仓库系统呢?
通常情况下,业务系统不会保留所有的历史数据。因此,必须创建一个新的商务智能环境,确保能捕获历史上所有版本的数据。
现在的系统已经捕获并存储了所有的历史数据,那为何还要创建数据仓库呢?
1.源系统中的数据一般是为具体应用而做了优化处理,其数据结构是为某个目的专门设计的,而且没有出于分析需要把系统中的各个组件关联在一起。为了分析,必须拉数据,即把数据结构化,然后合并导入到数据仓库系统中,这样就可以分析和使用数据了。
2.此外,很多源系统已经关闭。预购的软件包通常不包含关于基础表、列以及他们之间如何相关联的文档。这使得对于数据上下文的理解变得几乎不可能。有了数据仓库,可以很容易地理解数据及其之间的关系。
现有的数据源是开源的,包含所有的文档,而且一直保存所有的数据,那为何还要创建数据仓库?
如果是这样,那么目前可能不需要创建数据仓库系统。检查是否有数据质量问题;如果有,必要的话对数据进行清洗,然后像以前那样查询数据。
如果系统响应时间很慢,那么最好的方式是创建一个新的系统,根据需求从源系统中拷贝数据。
通常来说,在商务智能系统中使用了多个数据源,数据仓库环境是合并这些不同系统以及汇总全部数据的最佳环境,允许查询在一个共同的企业环境中运行。
当前,以上问题听起来很不错,为什么不用数据仓库取代当前的业务系统?
针对业务系统设计的数据库响应时间快,一般是秒级或秒级以下;而数据仓库在多年间积累和收集的数据有数百万甚至数十亿的记录,因此响应时间可能变成数分钟或更长。