首页 > 其他分享 >NoETL更实时灵活 | 智能数据检索、动态数据缓存与成本最优执行计划联合保障无数据移动的下的数据交付性能

NoETL更实时灵活 | 智能数据检索、动态数据缓存与成本最优执行计划联合保障无数据移动的下的数据交付性能

时间:2025-01-23 11:02:02浏览次数:3  
标签:虚拟化 数据检索 数据源 数据仓库 查询 Denodo NoETL 动态数据 数据

在数据管理领域,传统上我们习惯于通过数据复制、转换和整合到单一物理数据库的方式来满足所有信息需求。然而,这种方式常常以牺牲灵活性和数据交付速度为代价,换取查询性能的提升。面对海量数据,是否只能通过一再复制来实现理想的性能表现?

答案是否定的。今天的技术进步让我们可以探索完全不同的路径。本文将深入探讨如何在实现数据虚拟化的同时,达到媲美传统物理数据仓库的性能表现。


数据管理:是否只有一种方法?

传统数据仓库的“单一方法”——将数据复制多次后用于分析和可视化,已经深入人心。多年来,人们认为数据分析离不开数据仓库或数据集市,因为:

  1. 源系统和应用程序并非为数据分析设计,通常缺乏足够的历史数据。
  2. 源系统的性能不足以支撑复杂的查询需求。

因此,企业习惯于将所有数据汇总到单一模型中。但这种方式面临的主要挑战是数据处理速度和数据量的增长已触及方法的极限。

相比之下,混合架构结合数据虚拟化技术能更好地满足需求。在需要构建历史记录的场景中,可以继续依赖传统方法;而在其他场景中,数据虚拟化可以动态解锁和整合数据源,构建逻辑数据仓库。这种方法充分结合了两种架构的优点。


什么是数据虚拟化?

数据虚拟化技术能够为用户提供整合的、统一的数据视图,无需考虑数据的存储位置和格式,也无需复制数据。其核心特性包括:

  • 更快、更简单地访问数据源。
  • 提供强大的性能优化功能。

以Denodo平台为例,数据虚拟化能够通过智能数据检索、动态执行计划和缓存机制等多种方式优化性能,同时保持高度灵活性。


数据虚拟化如何实现高性能?

在本文中,将重点探讨一个常见问题:数据虚拟化(无物理数据移动)能否实现良好的性能表现?许多人认为,涉及多个数据源的查询难以实现高性能,因为数据并未被复制,而是留存在源系统中。但事实并非如此。

首先,让我们回顾数据虚拟化的定义:“数据虚拟化技术为信息用户提供对所有可用数据的集成、统一视图,无论这些数据的格式或存储位置如何,也无需复制数据。”

借助数据虚拟化,我们能够更加快速、轻松地访问数据源。此外,当前的数据虚拟化平台(例如Denodo)已具备强大的性能优化功能。以下我将通过Denodo平台的实践案例进行说明,当然其他工具也提供类似功能。

1. 智能数据检索

数据虚拟化平台通过优化查询计划,确保只检索所需的数据,而非提取所有数据后再进行筛选和整合。例如:

  • 全聚合下推:平台将查询分解为子查询,并将每个子查询下推至相关数据源,仅从数据源中检索必要的数据。
  • 部分聚合下推:在数据虚拟化平台上对多个经过筛选的数据集进行聚合和整合。
  • 动态数据移动:当需要处理大规模数据时,平台会在数据源中创建临时表并直接执行合并操作,减少网络传输开销。

这些智能数据检索技术大幅减少了需要传输和处理的数据量,提升了整体查询速度。


2. 动态执行计划

针对复杂的查询场景,数据虚拟化平台会自动生成动态执行计划,并选择最优路径完成查询。例如,在需要处理大数据集或复杂连接时,Denodo平台会自动激活适合的优化策略,并允许用户根据需求手动调整。

实际测试表明,在同等数据量的情况下,逻辑数据仓库(基于数据虚拟化)与物理数据仓库的性能相差无几。


3. 数据缓存

虽然数据虚拟化强调“数据不复制”的核心原则,但在某些特殊场景下,例如:

  • 源系统在特定时间内无法响应查询请求。
  • 数据源处理性能不足以满足业务需求。

此时,数据缓存功能可以临时存储特定子集数据,以满足性能要求。相比传统的ETL复制流程,缓存机制更加灵活,可按需激活并支持设置缓存时间。


实践案例:逻辑数据仓库与物理数据仓库性能对比

我们通过一个实践案例比较了逻辑数据仓库与物理数据仓库的性能表现。

测试环境

  • 物理数据仓库:IBM PureData设备,包含292.4百万条记录,所有数据存储在单一数据库中。
  • 逻辑数据仓库:数据分布在三个独立的数据库中,通过数据虚拟化平台实现整合。

测试方法:在两个数据仓库上运行相同的查询以测量性能。

结果
尽管架构不同,两种方案在性能上几乎没有显著差异。数据虚拟化平台根据查询内容动态选择最优查询路径,既保证了查询速度,又不影响数据的实时性和灵活性。


数据虚拟化的附加优势

除了性能优化外,数据虚拟化还为企业带来了以下优势:

  1. 灵活性:无需预先定义固定的数据模型,可根据业务需求灵活整合数据。
  2. 简化架构:消除了繁琐的ETL流程,降低了架构复杂性和维护成本。
  3. 实时数据交付:数据虚拟化支持实时或近实时的数据查询,满足业务对快速决策的需求。
  4. 高效管理:通过统一的数据访问层,企业能够更轻松地管理和监控数据的使用。

混合架构:数据管理的新趋势

在现代数据架构中,数据仓库正逐渐演变为多平台环境。

  • 传统关系型数据仓库仍适用于需要严格历史记录的场景。
  • 数据虚拟化则为无需复制数据的动态整合提供了强大支持。

这种混合架构能够帮助企业根据具体场景选择最佳的整合方式,实现灵活性与性能的平衡。


连接大于移动,拥抱数据虚拟化

数据虚拟化技术的不断进步,让企业无需再盲目依赖数据复制来解决性能问题。通过构建逻辑数据仓库,企业可以在保持高性能的同时,享受以下优势:

  • 数据交付速度更快。
  • 数据架构更加简洁。
  • 数据可用性显著提升。

未来的数据管理不再是一成不变的单一架构,而是结合物理与虚拟整合的混合模式。通过合理利用现代数据虚拟化平台(如Denodo),企业可以充分释放数据价值,真正实现性能与灵活性的双赢。在之前的文章中,我们也回顾了Denodo在逻辑数据仓库和逻辑数据湖场景中所使用的主要优化技术(具体内容请参阅之前的文章)。

数据架构 | 逻辑数据仓库与物理数据仓库性能对比_物理数仓、逻辑数仓-CSDN博客文章浏览阅读1.5k次,点赞33次,收藏28次。在逻辑数据湖和逻辑数据仓库方法中,数据虚拟化系统在多个数据源之上提供统一的查询访问和数据治理功能(见图1)。这些数据源通常包括一个或多个物理数据仓库、Hadoop 集群、SaaS 应用程序以及其他数据库。两种方法的主要区别在于:逻辑数据湖更强调 Hadoop 的作用,而逻辑数据仓库则更偏向传统的 BI(商业智能)流程。在“逻辑数据仓库”和“逻辑数据湖”方法中,数据虚拟化系统在多个数据源之上提供统一的报表与治理功能。_物理数仓、逻辑数仓https://blog.csdn.net/Denodo/article/details/145004420?spm=1001.2014.3001.5501https://blog.csdn.net/Denodo/article/details/145004420?spm=1001.2014.3001.5501数据查询优化策略: 全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移_查询 数据下推-CSDN博客文章浏览阅读1.5k次,点赞42次,收藏26次。关于数据虚拟化在逻辑数据仓库和逻辑数据湖架构中查询优化的实际应用示例。全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移_查询 数据下推https://blog.csdn.net/Denodo/article/details/145002597?spm=1001.2014.3001.5501https://blog.csdn.net/Denodo/article/details/145002597?spm=1001.2014.3001.5501数据湖与逻辑数据仓库的兴起:迈向 NoETL 数据虚拟化时代-CSDN博客文章浏览阅读1.6k次,点赞42次,收藏46次。逻辑数据仓库通过数据虚拟化技术,为企业提供了一种灵活、实时且高效的数据管理方案,帮助企业摆脱数据孤岛的困扰,提升跨部门协作的效率,并在竞争激烈的市场中保持敏捷性。https://blog.csdn.net/Denodo/article/details/145014913?spm=1001.2014.3001.5501https://blog.csdn.net/Denodo/article/details/145014913?spm=1001.2014.3001.5501

NoETL | 数据虚拟化如何在数据不移动的情况下实现媲美物理移动的实时交付?-CSDN博客文章浏览阅读483次,点赞5次,收藏13次。数据虚拟化(DV)系统如何为每个查询选择合适的优化技术呢?答案是基于成本的优化:针对一个查询,DV系统会生成一组候选执行计划,估算它们的成本,并选择成本估算最低的计划。 https://blog.csdn.net/Denodo/article/details/145266081?spm=1001.2014.3001.5501 

标签:虚拟化,数据检索,数据源,数据仓库,查询,Denodo,NoETL,动态数据,数据
From: https://blog.csdn.net/Denodo/article/details/145267226

相关文章

  • 数据查询优化策略: 全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移
    关于数据虚拟化在逻辑数据仓库(LogicalDataWarehouse)和逻辑数据湖(LogicalDataLake)架构中查询优化的实际应用示例。本文将为您详细介绍这些场景中最重要的优化技术,包括 全聚合下推(FullAggregationPushdown)、分区剪枝(PartitionPruning)、部分聚合下推(PartialAggregationP......
  • X00119-SDN下移动边缘计算市场中的智能动态数据卸载python实现
    软件定义网络(SDN)和移动边缘计算(MEC),能够动态管理和满足终端用户的计算需求,已经成为5G网络的关键使能技术。此项目研究了在多MEC服务器和多终端用户环境下,终端用户选择MEC服务器及其数据卸载的联合问题,以及MEC服务器的最优定价问题。SDN技术提供的灵活性和可编程性使得所提框架的实......
  • 动态数据源 @DS 注解源码解析
    参考:动态数据源切换——@DS注解源码解析前言借助dynamic-datasource可实现多数据源读写,其核心注解@DS用来动态切换数据源。下面介绍@DS注解的实现原理。如何使用在pom中引入依赖:<!--spring-boot1.5.x2.x.x--><dependency><groupId>com.baomidou</groupId>......
  • 高效处理“无查询生成”情况:构建更智能的数据检索链
    #高效处理“无查询生成”情况:构建更智能的数据检索链在数据检索系统中,常常需要根据用户输入的问题生成查询。然而,有时我们的查询分析技术可能不会生成任何查询。在这种情况下,我们需要设计一个机制,能够在决定是否调用检索器前,先检查查询分析的结果。本文将通过一个实例介......
  • 京东APP百亿级商品与车关系数据检索实践
    作者:京东零售张强导读本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询。通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性能场景。希望通过本文,读者可以对缓存的内部结构知识有一定了解......
  • 【免费可视化仪表盘】轻松实现静态/动态数据可视化图表—积木仪表盘
    在当今信息爆炸的时代,如何从海量数据中快速提取关键信息,实现高效决策,成为了企业和个人面临的重大挑战。而积木仪表盘,就如同一位智慧的导航者,为你轻松开启数据可视化的精彩之旅。代码下载https://github.com/jeecgboot/JimuReport技术文档官方网站:http://jimureport.co......
  • 便捷数据检索与下载,拟合曲线预测趋势 轻松管理多个项目,实现在线监测
    便捷数据检索与下载,拟合曲线预测趋势轻松管理多个项目,实现在线监测在线监测管理系统,采用了基于BS架构。该系统可以在浏览器中实现项目管理、数据查看与下载、曲线查看等操作。系统界面简约、布局统一、逻辑清晰,用户操控体验良好。采用了三层监测要素架构,实现了多项目、多设备、多......
  • 动态数据表格
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>DynamicDataTable</tit......
  • ava框架Spring 中的动态数据库的使用方法
    在Java框架Spring中,动态数据库的使用通常涉及根据不同条件(如请求的上下文、租户ID等)动态切换数据源。Spring提供了一些方法来实现这一点,以下是一个常见的实现方案:1.基于AbstractRoutingDataSource实现动态数据库切换Spring提供了AbstractRoutingDataSource类,可以通过......
  • vue3/provider 和 inject实现跨组件动态数据传递。
    实现跨层传递在Vue中,provider和inject是一种用于实现依赖注入的高级特性,允许一个祖先组件向其所有子孙组件注入一个依赖,而不论组件层次有多深,并在起上下游关系成立的时间里始终生效。这在某些场景下非常有用,比如当你需要跨多个组件层级传递数据时。定义provide对象:在父组......