揭开数据虚拟化的神秘
面纱
Denodo公司介绍
3
Denodo
数据虚拟化的领导者
DENODO 办公室、客户、合作伙伴
遍布北美、欧洲、中东和非洲、亚太地区和拉丁美洲
的全球业务。
客户
客户超过800+,包括所有主要行业的财富500和
全球2000强公司,利用数据虚拟化显著提高了业务
灵活性和投资回报率。
财务状况
有超过40亿美元的私有公司支持。
年增长 60% 以上;可盈利。
领导者
▪ 自1999年以来,对数据虚拟化的持续关注时间最长
▪ 2021 Gartner数据集成工具魔力象限领导者
▪ 2020 Forrester Wave 的领导者 - 大数据结构
▪ Forrester 2018 Wave 的领导者 - 数据虚拟化
▪ 增长最快 — 前十大数据集成供应商
▪ 多次获奖
5
Denodo 资源
6
Denodo 资源
7
Denodo 资源
Bob Yin,尹寒柏 资深解决方案架构师
byin@denodo.com
揭开数据虚拟化的神秘面纱
议程
1. 什么是数据虚拟化 (DV)?
2. 误区 #1 – DV 就是数据联合
3. 误区 #2 – DV 通过网络传输大量数据
4. 误区 #3 – DV 会增加额外的工作负载
5. 误区 #4 – DV 不使用 MPP
6. 误区 #5 – DV 必须实时检索数据
7. 结语
8. 问答
9. 后续步骤
什么是数据虚拟化?
5
數據使用 简史
6
来源:“Gartner Peer Insights,2021 年 11 月”
数据虚拟化可用于创建数据的虚拟化集成视图,而非执行数据移
动并将集成视图物理存储在目标数据结构中。它在数据的物理实现之
上提供抽象层,以简化查询逻辑。
7
数据虚拟化:统一数据集成和交付
• 数据抽象化:将应用程序/数据
使用与数据源分离
• 采用数据集成,无需复制或重新
定位物理数据
• 高性能、实时/适时地轻松访问
任何数据
• 借助数据目录实现自助式数据
服务和轻松发现
• 提供跨所有数据资产的统一元
数据、安全性和治理
• 智能查询优化可利用全新和既
有物理数据平台,支持以任何
格式交付数据
一种逻辑数据层,可提供对整个企业不同数据的集成业务视图的高性能、实时和安全访问。
误区 #1
数据虚拟化就是
数据联合
9
早期“联合服务器”性能不理想
数据联合服务器并未达到所宣传的高度
1. 数据虚拟化的早期形式是数据联合服务器
• 例如 IBM InfoSphere 联合服务器
2. 其连接性和查询处理能力均有限
• 无法处理复杂查询,或依靠检索所有数据进行处理
3. 有时被错误地定位为数据仓库的替代方案
• 性能对比不占优势
4. 数据联合因此风评不佳
• 以数据联合作比,是对数据虚拟化的贬损
10
Denodo 平台架构
数据目录
发现 - 探索 - 记录
数据即服务
RESTful / OData
GraphQL / GeoJSON
BI 工具 数据科学工具
SQL
使用者
数据虚拟化
连接
不同数据,不受位置、
格式或延迟所限
合并
相关数据至具有通用
语义模型的视图
使用
利用 BI 和数据科学工具、
数据目录及 API
自助服务
混合/多云
数据治理
查询优化
AI/ML 建议
安全性
逻辑数据结构
数据源
传统 DB
和 DW
150+
数据适配器
云端存储
Hadoop
和 NoSQL OLAP 文件 应用程序 流式 SaaS
11
不仅仅是联合
主要区别
✓ 统一的数据集成和交付层
✓ 丰富的语义层
✓ 向使用者公开数据,而无需复制数据
✓ 不受数据和工具影响
✓ 采用数据视图分层方法,可不断改变用途并重复使用
✓ 支持数据质量、安全和治理策略
✓ 数据沿袭和变更影响分析
✓ 数据目录
✓ 高级缓存和查询加速
数据虚拟化就是数据联合
数据虚拟化不仅仅是数据联合,而是统一的
数据集成平台
误区 #2
数据虚拟化通过网络
传输大量数据
14
最大限度降低网络影响
同时最大限度提升性能
▪ “性能如何?”…通常是我们面对数据虚拟化的首个问题
▪ 影响性能的因素众多
• 数据源、网络延迟、查询和处理复杂性、使用者摄取率等
▪ 总体而言,提升性能的方式包括
• 最大限度减少通过网络传输的数据
• 最大限度增加“本地”数据处理
▪ “将处理移向数据”
15
数据虚拟化有何不同?
SELECT c.state, AVG(s.amount)
FROM customer c JOIN sales s
ON c.id = s.customer_id
GROUP BY c.state
联结
分组
创建临时表
联结
分组
方案 1?
方案 2? 方案 3?
客户和销售分属于不同数据源。
哪一种是最佳执行计划?
销售 客户
粗放式策略
3 亿 200 万
200 万
0.5 亿
按 ID 分组
200 万
200 万
“成本”约 3.02 亿
销售 临时客户 客户
临时数据移动
“成本”约 0.52 亿
销售 客户
部分聚合下推
“成本”约 400 万
按状态
分组
联结
16
Denodo 为何不同?
SELECT c.name, AVG(s.amount)
FROM customer c JOIN sales s
ON c.id = s.customer_id
GROUP BY c.state
系统 执行时间 传输数据 最优化技术
Denodo 9 秒 400 万 聚合下推
其他 125 秒 3.02 亿 无:全面扫描
3 亿 200 万
销售 客户
联结
分组
200 万
200 万
销售 客户
按 ID 分组
按状态
分组
联结
为 最 大 限 度 下 推 至
EDW,聚合分为两步:
• 第 1 步:按客户 ID
• 第 2 步:按状态
这样可大幅减少 Denodo
中的网络流量和处理作业
数据虚拟化通过网络传输大量数据
Denodo 返回的是结果集!
误区 #3
数据虚拟化会为操作系
统增加额外的工作负载
19
管控影响
• 有些数据源相对“脆弱”,无法处理任意额外工作负载
• 有时实时访问与联合无法良好适配:
• 数据源速度慢(例如文本文件、Salesforce.com 等云应用程序)
• 需要大量数据处理(例如复杂的组合、转换、匹配、清理等)
• 访问受限或是必须减轻对数据源的影响
针对这些场景,Denodo 可以只复制缓存中的相关数据
20
使用集成 AI 提供智能建议:
• 根据使用历史自动生成
• 提供摘要建议,可最大限度提升高频次、高成本
查询的性能
• 除摘要逻辑之外,还可针对位置,达到性能和查询
委托最大化
面向分析的智能查询加速
21
面向分析的查询加速“摘要”
SELECT
c.country,
SUM(ss.ss_quantity),
AVG(ss.ss_sales_price)
FROM
store_sales ss JOIN sqls_customer c
ON ss.ss_customer_sk = c.c_customer_sk
GROUP BY c.country
▪ 销售事实:3 亿行
▪ 销售摘要:
• 聚合 1
• 按客户 ID 和门店 ID 聚合
• 200 万行
• 聚合 2
• 按客户 ID、日期 ID 和门店 ID 聚合
• 600 万行
销售聚合 1
200 万行
客户
100 万行
聚合感知
查询会自动重写,以使用聚合
而非原始事实表
销售
3 亿行
客户
100 万行
原始
denodo
数据虚拟化会为操作系统增加额外的工作负载
Denodo 可优化查询,最大限度降低操作
系统工作负载
误区 #4
数据虚拟化不使用 MPP
24
Denodo 与 MPP
• 目前 Denodo 可与多种 MPP 数据湖引擎集成
• Hive、Impala、Presto、SparkSQL、Athena 和 Databricks/Delta Lake
• 与此类系统的集成涵盖多种功能
• 作为数据源
• 作为 Denodo 缓存的存储
• 作为附加外部执行引擎
• Denodo 可将数据从其他数据源即时移动到 MPP 以供执行
• 由基于成本的优化器控制,也可根据手动提示使用
• 作为复制管道的目标(远程表)
• 在 Denodo 中运行查询并将结果放入数据湖
• (更新 1)如果源和目标相同(例如数据湖),则直接处理数据,
而非先送至 Denodo
• (更新 1)更好地支持数据湖引擎中的增量更新
25
大规模并行处理
Denodo 提供与 MPP 系统的原生集成,带来两项额外的关键功能:
• 查询加速:在查询执行期间将处理移至 MPP
• 在 Denodo 中并行处理操作
• 将高级下推的优势(最大限度减少网络流量)与大规模并行处理相结合
• MPP 缓存
• 快速访问最近使用的数据
这两种技术可以结合起来,以卓有成效的方式成功处理非常复杂的大数据量场景,
充分发挥低成本 MPP 解决方案的作用(Spark、Presto、Impala 等)
26
联
结
按邮编分组
联
结
按邮编分组
大规模并行处理:示例
200 万行
(销售总额(按客户))
客户
(200 万行)
系统 执行时间 优化技术
其他 约 10 分钟 基础
无 MPP 43 秒 聚合下推
有 MPP 11 秒 聚合下推 + MPP 集成(Impala 8 节点)
销售
(3 亿行)
联结
按邮编分组
1.部分聚合下推
最大化源处理,降低网络流量
3.按需数据传输
对于 Hadoop 上的 SQL 系统,
Denodo 自动生成并上传
Parquet 文件
4.与本地和预缓存
数据集成
引擎将检测数据何时缓存或
来自 MPP 中的原生表
2.与基于成本的优化器集成
基于数据量估算和这些
特定操作的成本,CBO 可决定
将全部或部分执行树移向 MPP
5.快速并行执行
支持 Spark、Presto 和 Impala,
可在基于 Hadoop 的低成本解决
方案中进行快速分析处理
采用 MPP 集成
按客户 ID
分组
数据虚拟化不使用 MPP
Denodo 能够利用 MPP 实现查询加速!
误区 #5
数据虚拟化必须实时
检索数据
29
逻辑数据仓库架构
ETL
数据仓库
Kafka
物理数据湖
ML/AI
SQL
接口
逻辑数据层
流式分析
分布式存储
文件
业务工具
IT 存储和处理
数据源
逻辑数据仓库
数据虚拟化
30
利用历史和实时数据
增量查询
• 自动实时组合缓存数据与实时源中的增量:
• 增量将即时计算。
• 对于未在缓存中的源数据,将实时查询。
• 其余数据来自缓存。
• 重要性能提升:
• 查询较小增量,而非从实时源查询完整数据集。
数据虚拟化必须实时检索数据
Denodo 可利用所有历史和实时数据
结语
33
揭秘…
✓ 数据虚拟化不仅仅是“数据联合”
✓ 数据虚拟化能够将对网络的影响降至最低,并最大限度提升性能
✓ 数据虚拟化提供优化技术,可最大限度降低操作系统的负载
✓ 数据虚拟化可以利用 MPP 等现有技术投资来实现查询加速
✓ 数据虚拟化可以根据需要实时或非实时地交付数据。
40
Denodo 联系方式
✓ Denodo官网:denodo.com.cn
✓ Denodo社区:community.denodo.com
✓ Denodo博客:www.datavirtualizationblog.com
✓ 产品试用:https://www.denodo.com/en/denodo-platform/test-drives
✓ 联系我们:
✓ 添加微信
✓ 电话至 +86.18518356610
✓ 邮件至 cli@denodo.com
谢谢!
www.denodo.com info.cn@denodo.com
© 版权所有 Denodo Technologies保留所有权利
除非另有说明,否则未经 Denodo Technologies 事先书面授权,不得以任何电子或机械方式(包括影印和缩微拍摄)复制或使用本 PDF 文件的任何部分。

揭开数据虚拟化的神秘面纱