数据仓库的数据从哪来?
通常数据仓库的数据来自各个业务应用系统。业务系统中的数据形式多种多样,可能是
Oracle、MySQL、SQL Server 等关系数据库里的结构化数据,可能是文本、CSV 等平面文件或 Word、Excel 文档中的非结构化数据,还可能是 HTML、XML 等自描述的半结构化数据。这些业务数据经过一系列的数据抽取、转换、清洗,最终以一种统一的格式装载进数据仓库。数据仓库里的数据作为分析用的数据源,提供给后面的即席查询、分析统、数据集市、报表系统、数据挖掘系统等。
从以上可以看到,从存储的角度看,数据仓库里的数据实际上已经存在于业务应用系统中,那么为什么不能直接操作业务系统中的数据用于分析,而要使用数据仓库呢?
实际上在数据仓库技术出现前,有很多数据分析的先驱者已经发现,简单的“直接访问”方式很难良好工作,这样做的失败案例数不胜数。下面列举一些直接访问业务系统无法工作的原因:
某些业务数据由于安全或其他因素不能直接访问。
业务系统的版本变更很频繁,每次变更都需要重写分析系统并重新测试。
很难建立和维护汇总数据来源于多个业务系统版本的报表。
业务系统的列名通常是硬编码,有时仅仅是无意义的字符串,这让编写分析系统更加困难。
业务系统的数据格式,如日期、数字的格式不统一。
业务系统的表结构为事务处理性能而优化,有时并不适合查询与分析。
没有适当的方式将有价值的数据合并进特定应用的数据库。没有适当的位置存储元数据。
用户需要看到的显示数据字段,有时在数据库中并不存在。
通常事务处理的优先级比分析系统高,所以如果分析系统和事务处理运行在同一硬件之上,分析系统往往性能很差。
有误用业务数据的风险。
极有可能影响业务系统的性能。
尽管需要增加软硬件的投入,但建立独立数据仓库与直接访问业务数据相比,无论是成本还是带来的好处,这样做都是值得的。随着处理器和存储成本的逐年降低,数据仓库方案的优势更加明显,在经济上也更具可行性。
评论