必须保护大型数据库的最终用户不知道数据是如何在机器中组织的——内部表示。通常,当数据的内部表示发生更改,甚至当外部模型的某些方面发生更改时,大多数应用程序应该不受影响。
数据虚拟化的指导原则是:
用户和应用程序应该独立于数据的物理和逻辑结构
数据抽象和解耦
公司在不同的数据源上存储大量的数据。
这些数据源使用不同的技术开发,具有非常不同的数据模型,包括结构化和非结构化数据。
在典型的数据仓库结构中,我们通常会看到给定的数据被两种类型的人使用:
- 首先是负责数据开发的IT人员(IT视图)
- 第二种是只从业务角度关注数据的最终用户(业务视图)。
从IT的角度来看,我们必须处理由不同的模式、查询语言、数据模型和安全机制组成的异构系统,并且必须处理快速变化的环境,如业务条件、技术发展和基础设施变化。
最终用户看到数据资产之间的关系,比如模型是否一直稳定,业务策略是否根据模型表示,最终用户期望一致的性能。
随着高数据增长、IT复杂性和高延迟的增加,迫切需要将这两者解耦。为了实现实时数据并进行数据分析,我们需要在它们之间创建一个层。
所以数据虚拟化来了。
什么是数据虚拟化?
数据虚拟化充当抽象层。它弥合了It团队的复杂性和业务用户的数据消费需求之间的差距。
缩小差距
数据虚拟化是一个逻辑层,它包括:
- 向业务用户实时交付业务数据
- 连接到不同的数据源并在不复制数据的情况下集成它们
- 支持更快地访问所有数据,降低成本,并更灵活地应对更改
因此,我们可以将数据虚拟化定义为-
“数据虚拟化可以用来创建内存中数据的虚拟化和集成视图,而不是执行数据移动并在目标数据结构中物理存储集成视图。它在数据的物理实现之上提供了一个抽象层,以简化查询逻辑。”
什么数据虚拟化不是-
- 它不是ETL工具——ETL工具的设计目的是将数据从一点复制到另一点。
- 它不是数据可视化——数据可视化工具是Tableau和Power BI。
- 它不是数据库——数据虚拟化不存储任何数据
为什么要进行数据虚拟化?
数据虚拟化用于数据的集成。但问题是,当我们已经有ETL和ESB等不同的其他概念时,为什么还要使用数据虚拟化进行集成呢?
提取、转换和加载(ETL)过程是最早的数据集成策略。
在ETL过程中,数据从源中提取、转换并加载到另一个数据系统中。这个过程在移动大数据集时非常高效。但是将数据移动到另一个系统需要一个新的存储库。这个储存库需要不时地进行维护。此外,存储的数据不是实时数据。最终用户必须等待,直到加载新数据并准备使用。
因此,主要的挑战是:
- 及时的数据
- 可用的数据
- 即时的数据
- 适应性强的数据
但数据虚拟化解决了所有这些问题,并提供了如下数据:
- 可用
- 集成
- 一致的
- 正确的
- 及时的
- 即时
- 记录
- 受信任的
- 可操作的
- 适应性强的
数据虚拟化支持各种各样的源和目标,这使它成为补充ETL过程的理想数据集成策略。