数据仓库历史悠久,这里的基本想法是,大多数企业建立各种应用程序来自动化其基本业务流程,而这些业务流程各自发展,从而产生多个版本的数据。在过去,对于那些想了解不同产品线或地区的销售收入或利润率的人来说,数据不一致是令人头疼的问题。
实质上,数据仓库的原始概念是从各种事务系统中复制关键数据,解决不一致问题并生成易于分析的干净数据集。这个过程通常使用定期运行的程序来完成,这些程序将在摄取新数据时使数据仓库保持最新状态。
数据仓库环境的历史
为确保数据仓库环境正常运行,这里需要很多组件。它需要数据提取程序,并且数据仓库必须使用其自己的架构进行设计。现代数据仓库还需要其他程序,以通过业务规则解析背景数据的竞争版本,从而决定数据主版本的层次结构。
这里的历史性挑战是,数据仓库类似于在不断变化的底层操作系统上构建的建筑物。当这些系统发生重大变化时(例如重组或业务收购),数据仓库的结构需要更改以反映基础业务变化。如果业务变化的步伐过快,则数据仓库可能会在一段时间内变得不可靠,从而破坏业务人员对它的信心。
为解决这个问题,数据集市应运而生。但是,除非数据集市与数据仓库中的数据同步,否则它们可能会与之竞争并产生多种数据版本。为了解决这种不稳定性,开始出现各种数据仓库设计,其中包括星形模式、雪花模式,以及技术专家Bill Inmon和Ralph Kimball提倡的其他模式。
随后主数据管理领域开始出现,企业希望收集越来越复杂的业务背景数据集,这些业务背景数据通常具有可与数据仓库协同工作的独立数据库。争用不同版本的产品层次结构需要业务投入,从而使数据仓库中的数据治理提供流程,以对此类主数据进行业务控制。
除庞大的数据量外,增加的复杂性也是一个问题。最终我们开始看到更加复杂的查询和分析工具,它们本身通常需要自己的元数据层来表示数据仓库的业务视图。
同时,提取、转换和加载(ETL)数据催生数据集成工具行业的发展。这些工具使流程自动化,并拥有自己的专有脚本,从而在数据仓库环境中添加需要处理的其他组件。
数据仓库现代化
多年以来,人们一直在尝试整理企业数据仓库环境的组件。为了现代化日益复杂的数据仓库,供应商尝试生产预构建的模板和数据仓库生成器,这些示例包括Idera、Magnitude和Attunity。尽管在某些用例中取得成功,但这些都没有取得市场主导地位。
此外,DevOps和DataOps致力于帮助数据仓库模式演变,以及使数据仓库环境以可控方式运行的其他方面。
尽管创新供应商付出巨大的努力,但数据仓库现代化并没有捷径。
大型企业已经在企业数据仓库及其相关环境中投入大量资金,但庞大的流程、程序、脚本和模式仍然是前进的重大障碍。还有一个障碍是克服数据库管理员和IT员工当前做法的惯性。
由于企业大部分分析都依赖于数据仓库,因此很难进行迁移。重组运营数据仓库环境就像机械师试图为行驶中的汽车升级发动机升级。尽管如此,数据仓库自动化工具和现代DataOps市场正在尽力帮助企业现代化其数据仓库环境。