如果让当前数据工程领域的人绘制一个“现代”数据架构,几乎肯定会得到如下结果:
这样的数据架构格局反映了基于系统的架构设计方法。这种基于系统的架构有何现代感?它已经存在了将近 10 年,并且没有太大变化。该架构由三个主要组件组成:数据仓库、数据湖和数据集市(或服务层)。
首先是数据仓库。之所以需要拥有独立的数据集市和数据湖,是因为那些传统的数据仓库无法扩展以满足置于其上的不同的、相互竞争的应用场景。数据集市的出现是因为中央数据仓库无法扩展以满足最终用户的不同应用和高并发需求。然后是数据湖,因为企业数据仓库无法存储和处理大数据(在数量、种类和速度方面)。
创建数据湖和数据集市是为了满足当时数据工程领域的实际需求。即使在今天,数据仓库仍然无法支持企业的所有不同应用。即使对于较新的云数据仓库也是如此。这些不同的数据系统导致了孤立的数据,这对于企业从中获取商业价值和安全治理具有非常大的挑战。
用不同的方式思考数据
为了优化数据架构,我们需要停止根据现有类型的系统来思考数据,例如遗留数据仓库、数据集市和数据湖。这样做没有帮助,而且会在企业数据环境中引入人为的边界。
以下是关于如何以不同方式思考数据的建议。在较高级别,可以将所有企业数据分组到以下逻辑数据区域:
因此,让我们开始按照这样的区域而不是系统来考虑数据。旧的基于系统的思维将继续让数据工程专业人员陷入旧的做事方式,并将继续分裂数据格局。采用新的思维模式,无需将数据区域划分为不同的孤立数据系统,例如:
当像单一平台可以打破这些孤岛时,为什么还要用以前的思路思考呢?我们不应考虑系统问题,而应考虑为所有企业数据建立一个单一平台,例如
构建企业统一的数据平台
我们通常使用多个名称来标识数据的位置和使用方式,包括操作数据存储 (ODS)、企业信息工厂 (CIF)、数据仓库、数据集市等等。每个术语代表在企业内对数据进行分组的不同方式。但不幸的是,今天那些不同的数据组代表了不同的数据系统。让我们开始根据区域(或数据类型)而不是系统来考虑数据。
企业数据架构的目标绝不是将数据格局拆分为多个不同的系统,特别是拆分为数据仓库、数据集市和数据湖。我们需要停止做一些事情,因为“他们总是那样做”,并重新思考我们正在努力完成的事情。我们的目标应该是为企业的所有数据建立一个统一的平台,例如,如下所示:
这样的数据平台可以支持所有的数据仓库、数据湖、数据工程、数据交换、数据应用程序和数据科学的应用场景,我们可以将数据仓库、数据集市和数据湖整合到一个平台中。
大多数“云”数据仓库都是 20 多年前设计的,并且已经迁移到云端。他们无法真正利用云的可扩展性。而那些最近设计的系统不提供完整的企业数据管理体验,提供治理、符合 ACID 的交易、实时数据共享、完全托管服务等。现在是时候开始以不同的方式思考我们的数据了。