原文作者:Andy Hayler
来源:IT168
在大型企业中保证业务数据的一致性是一个非常棘手的问题。一般来说,如跨国型公司的客户或产品相关数据,往往有多个来源。这就导致了,有时即使是最简单的问题也很难回答。在此情况下,数据集成可能是成为一种解决办法。
数据集成为组织提供了存储在多个数据源中数据的统一视图,而提取、转换和加载 (ETL) 技术就是数据集成的早期尝试。
使用 ETL,可以从多个源事务系统提取、转换和加载数据到单个位置,例如公司数据仓库。提取和加载部分相对机械,但转换部分不那么容易。为了实现这一点,您需要对业务规则进行定义,来解释哪些转换是有效的。
ETL 与数据集成之间的一个主要区别是,数据集成是一个更广泛的领域。它可能还包括数据质量和定义主引用数据的过程,例如在公司范围内定义客户、产品、供应商和其他与业务事务提供有关的关键信息。
数据分类与一致性
下面我们看一个例子。一个大的营业公司可能需要从几个层次对产品和客户进行分类,以分段分层展开营销活动。对于该公司旗下规模较小的子公司,则可以通过简单的产品和客户分类层次结构来实现这一点。在这个例子中,规模更大的组织可能将一罐可乐归类为碳酸饮料、一种饮料、食品和饮料销售的一部分。然而,较小的子公司可能会把同样的可乐归入食品和饮料销售,而没有中间的分类。这就是为什么需要分类的一致性 —— 或者至少是对差异的理解 —— 来获得公司整体销售的全局视图的原因。
不幸的是,知道你在和谁做生意并不总是那么简单。例如,Shell U.K. 是石油巨头 Royal Dutch Shell 公司的子公司。像 Aera Energy 和 Bonny Gas Transport 这样的公司都是 Shell 公司的实体,有些还有其他投资者。因此,与这些公司进行的业务交易,需要作为客户添加到 Shell 公司的全局视图中,但是从公司名称来看,这种关系并不明显。
著名投资银行副总裁曾告诉笔者,他们不知道自己在全球范围内做了多少业务,例如,德意志银行 (Deutsche bank), 更不用说企业是否盈利,这些问题的答案埋在各种全球性投资银行部门的系统内。
数据质量问题
ETL 技术是解决这个问题的早期尝试。但要正确获得转换步骤,您需要定义业务规则,制定什么样的转换是有效的 —— 例如,如何汇总销售事务或映射一个数据库字段,当 “m” 用于定义男性顾客,而 “male” 用于另一个含义时。技术的发展对这一过程是有帮助的。
事实证明,实现集成化的数据比 ETL 和数据集成本身更广泛。数据质量也是一个重要因素。如果发现客户或产品文件中有重复的内容怎么办?在笔者参与的一个项目中,有 80% 的客户记录都是重复的。这意味着,该公司的商业客户数量只有它认为的五分之一。
在原材料中,主文件的重复率通常是 20% 到 30%。当进行公司概述,需要汇总数据时,应该消除这些异常情况。
不断增长的数据量
尽管数据集成对大公司来说有其优势,但也不是没有挑战。如公司产生的非结构化数据的持续增长。
而且,由于数据以不同的格式保存 —— 传感器数据、web 日志、呼叫记录、文档、图像和视频 ——ETL 工具在这种环境中可能是无效的,因为它们在设计时并没有考虑到这些因素。当存在大量数据或大数据时,这些工具也会遇到困难。如 Apache Kafka 等类似工具,试图通过实时流数据来解决这个问题,这使他们能够克服以前的消息总线方法对实时数据集成的限制。】、
从早期的 ETL 到现在,数据集成的相关技术、理念已经发生了很大的变化。但仍需要继续保持不断进化,以跟上企业持续变化的需求和大数据时代下不断涌现的新型挑战。