文章目录
- 前言
- 数据存储解决方案
- 数据集市
- 运营数据存储(Operational Data Store)
- 数据中心
- 数据处理
- 数据虚拟化和数据联合
- 虚拟化作为 ETL 或数据移动的替代品
- 数据目录
- 数据市场
前言
在数字时代,数据已成为公司的命脉。但是,仅仅拥有数据是不够的,数据真正的价值在于如何有效地管理、存储和处理。
管理数据的组件就像复杂机器中的齿轮,每个都有自己的职责,但又同步工作实现共同的目标。
本文将从一些最实用的存储解决方案开始说起,包括数据集市、可实操的数据存储方案和数据中心。以及有效管理和利用数据所涉及的广泛流程,还会讨论主数据管理、数据虚拟化、数据目录和数据市场等概念。
数据存储解决方案
数据集市
如下图所示,数据集市是数据仓库的子集,通常被设计为一个集中的数据存储库,经过优化以满足组织内某个部门或业务线(如财务、人力资源或营销)的特定需求。由于其保存的为特定的数据,数据量不大,数据集市可以为用户提供比数据仓库更精简、更易于访问的数据视图:
对于用户来说,从完整的包含大量数据的数据仓库中查询数据可能具有挑战性,为了应对这一挑战,数据集市通过从数据仓库中提取和整合相关数据并以更加用户友好的方式呈现。这样,部门内的用户可以轻松查找和检索他们需要的数据。
数据集市的主要优势之一是它们可以由各个部门创建和维护,而不是仅仅依赖大数据部门。此外,每个数据集市的结构都可以不同,以满足其服务部门的需求。这使得业务用户可以更好地控制数据;他们可以根据自己的独特需求进行定制,并使用与其领域最相关的数据结构。
针对部门定制的数据集市使用户能够更快、更轻松地访问日常运营和决策过程所需的数据。他们可以执行分析查询、生成报表并深入了解其部门的绩效,而无需查询整个数据仓库。
此外,数据集市促进数据治理和安全。每个部门都可以为其数据集市定义和实施访问策略,确保只有授权的个人才能访问特定的数据集。这有助于保护敏感信息并确保遵守数据隐私法规。
运营数据存储(Operational Data Store)
ODS 的范围比数据集市更广泛,可提供企业范围内的实时数据视图。数据集市提供了对特定领域有深入价值的数据,而 ODS 则提供了公司运营的各方面数据。
ODS 的目的是以实时或近实时的方式集成公司不同数据源的数据,供用户查询生成报表。一般,ODS 中的数据结构与其在数据源中的结构类似。然而,在集成过程中,ODS 可以清理、规范化数据并将业务规则应用于数据,以确保数据完整性,ODS 数据集成一般一天进行一次,不会有太高的频率。
我们可以(近)实时的填充 ODS,然后将 ODS 作为数据仓库的暂存区,在通过 ETL 将 ODS 中的数据加载至 DW 中,如下图所示:
ODS 和数据仓库的区别如下:
ODS | DW | |
---|---|---|
适用于 | 对原始详细数据的低级别查询 | 对转换或者聚合后的数据进行查询分析 |
目的 | 生成(近)实时的报表 | 生成历史或趋势的分析报表 |
数据保存时间 | 短时间内的 | 公司数据的完整历史记录 |
决策支持 | 支持当前或近实时数据的运营和战术决策 | 提供有关战略决策的反馈,从而实现整体的改进 |
数据加载频率 | 可能每隔几分钟或每小时加载一次数据 | 可能每天、每周、每月或每季度加载数据 |
案例说明
假设你正在为一家名为 ShoesForLess 的虚构零售连锁店生成库存报表,如果你只有一家零售店,并有一个数据库来跟踪订单,只需针对该数据库生成库存报表即可。但由于你有许多零售商店,每个商店都在自己的数据库中跟踪订单,因此获得最新准确库存报告的唯一方法是合并这些数据库中的订单数据,这对于让客户知道哪些商品缺货以及在供应不足时快速补货非常重要。对于这种情况,数据仓库的实时性不够。
现在假设客服接到客户的电话,询问是否有特定款式和尺码的鞋子。该客服查询 ODS 以检索有关该类型鞋子(例如,“男士跑鞋,尺码 43”)的可用性的实时数据,并返回当前库存水平。
另一方面,如果商店的经理想要了解过去一年该鞋款的销售趋势,他们可以使用 DW 进行聚合查询,对过去一年中每个月“男士跑鞋”的销售额进行求和。这提供了销售趋势的高级视图,可以为战略营销和库存决策提供相关信息。
数据中心
数据中心是一种集中式数据存储和管理系统,可帮助组织收集、集成、存储、管理和共享来自各种来源的数据,并提供对分析、报告和决策工具的轻松访问。最重要的是,数据中心消除了使用数百或数千个点对点接口在系统之间交换数据的需要。虽然数据仓库和数据湖的主要(通常是唯一)目标是为分析提供数据,但数据中心作为运营系统之间的通信和数据交换手段也很有价值:
数据中心一般与数据湖和数据仓库结合使用,数据湖存储大量原始、未处理的数据,而数据仓库存储针对分析查询优化过的结构化、转换过的数据,数据中心通过充当数据交换、协作和治理的中介来补充这些系统。
下表是数据中心和其他数据系统的比较:
数据中心 | 数据湖 | 关系型数据仓库 | 数据目录 | 数据市场 | |
---|---|---|---|---|---|
作用 | 数据存储、集成、分发 | 数据存储、处理、分析 | 数据存储、处理、分析 | 元数据管理、数据发现 | 数据购买、销售、共享 |
数据存储 | 原始或轻度处理的数据 | 原始数据和处理后的数据 | 高度结构化、经过处理的数据 | 仅元数据 | 各种格式,取决于提供商 |
数据结构 | 结构化、半结构化、非结构化 | 结构化、半结构化、非结构化 | 结构化的 | 仅元数据 | 结构化、半结构化、非结构化 |
数据处理 | 稍微处理,主要是整合和分发数据 | 按需加工处理、数据分析 | 频繁 ETL、复杂的查询 | 不处理 | 依赖于提供商 |
数据共享 | 内置 | 第三方 | 第三方 | 无 | 内置 |
数据所有权 | 在公司或相关团体内 | 在公司或相关团体内 | 在公司或相关团体内 | 在公司或相关团体内 | 多个公司间 |
使用场景 | 数据加载、集成、分发 | 大数据分析、机器学习、人工智能 | 复杂的查询分析、报表、决策 | 数据发现、数据血缘、执行数据治理策略 | 数据货币化、获取新数据集、数据发现 |
数据中心存储源数据的副本,专注于管理和分发,而数据目录不存储实际数据,主要关注元数据管理、数据血缘、数据治理策略的执行和便于数据查询。
数据中心可以充当不存储数据的数据市场的数据源,专注于管理和分发公司内的数据。它是一个中央平台,使用比数据湖或 RDW 更多的存储系统。数据湖通常使用对象存储来存储数据,而RDW则使用关系存储;数据中心可以结合关系数据库、NoSQL 数据库和数据湖等存储系统。
在数据处理方面,数据湖使用计算来清理数据并将其放回到数据湖中。 RDW 进行频繁的数据处理,包括 ETL 操作,以清理、规范化和结构化数据便于查询分析。然而,对于数据中心,通常使用外部工具或应用程序在中心外转换和分析数据。
总之,数据中心是一种灵活且通用的解决方案,用于加载、管理、集成和分发来自各种类型和来源的数据。相比之下,数据湖专注于存储和处理大量原始数据,以用于分析和机器学习,而数据仓库则针对结构化数据存储进行优化,以用于复杂的分析、报告和决策。
数据处理
存储数据只是数据存储解决方案的一小部分,为了真正发挥数据的潜力,还必须了解如何有效地管理数据,接下来将讨论数据处理,将发现帮助我们操纵、管理和利用数据资产的策略和技术。
主数据管理
在大数据领域中,主数据管理(Master Data Management,MDM)是一种管理和维护组织内部关键业务数据的方法和策略。主数据通常是指对于整个组织来说至关重要且具有高度价值的数据,如客户信息、产品信息、供应商信息等。MDM旨在确保这些核心数据的一致性、准确性和完整性,并使其能够在组织内部各个系统和业务流程中被可靠地共享和使用。
MDM的关键目标包括:
- 数据一致性:确保不同系统和部门中的主数据保持一致,避免数据冲突和重复。
- 数据准确性:保证主数据的质量,消除错误和不准确的数据。
- 数据完整性:确保主数据的完整性,包括必要的字段和属性的完整性。
- 数据集成:将主数据整合到一个单一的、可信赖的数据源中,以支持全面的数据分析和决策。
MDM通常涉及制定一套数据管理策略、标准和流程,以及使用专门的技术工具和平台来支持主数据的管理和维护。通过MDM,组织可以更好地理解和利用自己的核心数据资产,提高数据质量和业务效率,支持更好的决策制定和业务创新。
数据虚拟化和数据联合
数据虚拟化是一种将数据整合到一个逻辑视图中的技术,而不需要将数据物理复制或移动到中心存储中。它通过创建一个虚拟的数据层,可以实时地访问和查询各种数据源中的数据,包括关系型数据库、非关系型数据库、数据仓库、云存储等。这样的虚拟视图使得用户可以像访问单一数据源一样,方便地获取并分析数据,而无需关心数据的实际存储位置和格式。
数据联合是一种将多个数据源的数据集成在一起的技术,但与数据虚拟化不同,数据联合通常涉及将数据从不同源复制到一个中心位置进行集成。这个中心位置可以是数据仓库、数据湖或者其他数据存储系统。数据联合通过数据复制和同步来维护多个数据源之间的一致性,并提供一个统一的数据视图,使得用户可以在一个位置方便地访问和分析数据。
虚拟化作为数仓的替代品
在某些情况下,特别是当数据源很多或不断变化时,数据虚拟化可以作为数据仓库的替代方案。使用此方法时,无需在中央位置复制和存储数据。
下图展示了数据虚拟化产品的工作原理,步骤一为用户查询相关数据,步骤二为数据虚拟化引擎,数据虚拟化就相当于在源数据存储层进行了一层统一的封装:
数据虚拟化解决方案的主要优点是它优化了构建速度,它的构建时间只是构建数据仓库所需时间的一小部分,因为不需要设计和构建 DW 和 ETL 来将数据复制到其中,也不需要花费太多时间进行测试。复制数据(与 DW 一样)意味着更高的存储和治理成本、构建和维护 ETL 流程的成本以及更多的数据不一致,因此使用虚拟化可以节省大量资金。
数据虚拟化支持联合查询,我们可以在其中发出单个查询,从多个源和多种格式检索数据,并将结果组合到单个结果集中。
然而,数据虚拟化和联合查询存在一些主要缺点。如果你正在考虑使用数据虚拟化解决方案来取代 DW,需要考虑以下问题:
- 我需要什么级别的性能?这是我可以用于需要亚秒级响应时间的仪表板的解决方案,还是更适合运营报表?
- 数据虚拟化解决方案对源系统的性能影响有多大?用户的查询是否会受源系统服务器资源的影响?
- 我是否需要在包含我要使用的数据源的每台服务器上安装某些内容?
- 该解决方案是在使用数据源本身存储的索引,还是创建自己的索引?它是否使用每个数据源的数据库统计信息进行查询?
- 出于安全目的,我可以限制哪些用户可以访问每个数据源吗?
- 该解决方案如何处理近似重复的问题?
- 数据将在哪里以及如何被清理?
- 如果源系统发生更改,报表查询会中断吗?
- 虚拟化软件的成本是多少,使用起来有多复杂?
虚拟化作为 ETL 或数据移动的替代品
如果正在构建数据仓库,是否应该将所有源数据移至数据仓库中,还是将源数据保留在原处并在其中一些数据之上创建虚拟化层更好?
移动数据的最常见原因是计划聚合或转换一次数据,然后多次查询结果。另一个情况是,需要经常连接多个来源的数据集并且需要超快的查询性能。在这些场景中,一般推荐数据仓库解决方案。
下表对比了数据移动和虚拟化:
开发和运营成本 | 解决问题的时间 | 安全 | 数据时效性和质量 | 合规 | |
---|---|---|---|---|---|
数据移动 | 构建和维护 ETL 成本高 | 需要时间来构建和运行作业 | 创建数据副本使其更容易受到黑客攻击 | ETL管道使数据“过时”; ETL 可能会引入数据错误 | 将数据移入和移出合规性边界可能会导致数据治理问题 |
数据虚拟化 | 成本低 | 允许快速迭代和原型设计 | 数据保存在一个安全的地方,最大限度地减少攻击面 | 所查询的数据始终是“新鲜”且来自源头的准确数据 | 拥有少量数据副本和较少移动有助于满足合规性要求 |
数据虚拟化具有多种优势,首先,它提供了全面的数据血缘,确保可以清楚地了解数据从源到应用层的路径。其次,数据虚拟化软件通过统一的SQL接口呈现所有数据。这使得用户可以轻松访问,无论来源如何,来源可以是平面文件、电子表格、大型机、关系数据库或其他类型的数据存储库,但是虚拟化工具一般无法支持所有数据源。
下边是可能选择数据虚拟化的一些原因:
- 移动数据存在监管限制
- 公司外部的用户想要访问公司数据
- DW之外的数据库中有经常变化的所需数据
- 想要查询来自不同数据存储的数据并将其连接在一起
- 希望用户通过虚拟沙箱进行自助分析
- 想要快速构建一个解决方案来移动源数据
数据目录
数据目录是一个集中存储库,通常位于云中,用于存储和组织有关公司的所有数据源、表、schema、列以及其他数据资产(例如报表和仪表板、ETL 流程和 SQL 脚本)的元数据。它充当用户发现、理解和管理位于应用程序数据库、数据湖、关系数据仓库、运营数据存储、数据集市和任何其他数据存储形式中的数据的单一数据来源。
数据目录通常包含有关每个数据资产的以下信息:
- 有关源的信息,例如位置、类型和连接详细信息
- 如果在 RDW 内,则表和schema 信息(例如结构、关系和组织)以及列信息(例如数据类型、格式、描述和列之间的关系)
- 如果在数据湖等对象存储中,则文件属性(存储、文件夹名称、文件名)
- 数据血缘,包括有关数据所经历的任何转换、聚合和集成的信息
- 数据治理和合规性详细信息,例如数据质量、所有权和政策
- 搜索和发现工具,供用户搜索、过滤和查找相关数据
数据目录通过提供数据存储相关的可视化来帮助我们更有效地管理数据,这反过来又促进了团队之间更好的协作和更明智的决策。它还可以更轻松地跟踪数据血缘、执行数据策略并保持对数据资产的清晰了解,从而帮助确保数据质量、安全性和合规性。
市场上有许多用于创建数据目录的产品,其中一些已经存在了近十年。最受欢迎的产品是 Informatica 的 Enterprise Data Catalog、Collibra Data Catalog 和 Microsoft Purview。这些产品具有附加功能,例如数据治理和合规性、业务术语表和数据质量指标。
数据市场
数据市场(有时称为数据交换)是一个在线平台,数据提供者和数据消费者聚集在一起购买、出售和交换数据集。这些市场旨在帮助数据消费者(如企业、研究人员和开发人员)发现、评估和购买数据,以用于分析、机器学习、商业智能和决策等目的。提供者通常包括收集或生成有价值数据集的公司、政府和个人。
数据市场通常包括数据目录。许多市场会评估和提高数据集的质量,以确保它们准确、完整、一致且易于使用。有些提供用于清理、转换和丰富数据的工具和服务,这可以节省用户准备分析的时间和精力(当集成来自多个来源的数据或处理不完整或不一致的数据时,这尤其有价值)。消费者进行购买后,市场可能会提供工具来帮助他们访问数据并将其集成到他们的工作流程、应用程序中,或系统。有些甚至允许用户通过组合来自多个来源的数据或根据特定标准过滤数据来自定义数据集,以便他们可以准确访问所需的数据。
数据市场应采取强有力的安全措施来保护用户数据,确保遵守数据保护法规并维护敏感信息的机密性。有些提供了轻松混淆私人或敏感数据的方法。数据市场的定价结构和许可协议明确定义了使用条款,并确保数据提供商和消费者都遵守法律。
许多数据市场还提供内置分析和数据可视化工具,使用户可以直接在平台内分析和可视化(或简单预览)数据。其他常见功能和工具包括:
- 数据集的评价
- 其他数据集的推荐
- 相关资料文档、收藏夹列表等
- 协作和社区
- 培训和支持
从提供商的角度来看,数据市场提供了一种将数据资产货币化的方法,从而产生新的收入来源。这对于拥有大量数据但没有资源或专业知识来自行分析和货币化的组织来说尤其有利。
随着对数据驱动洞察的需求不断增长以及更加多样化的数据集不断出现,数据市场越来越受欢迎。由于市场在 2020 年代初期才开始出现,因此可用于创建数据市场的产品并不像用于数据目录的产品那么多。最受欢迎的是 Snowflake Marketplace、Datarade 和 Informatica 的云数据市场。提供商和消费者都可以从更高效、更透明的数据交换中受益,这可以促进新的数据驱动产品和服务的创新。