首页 > 其他分享 >数据架构 | 逻辑数据仓库与物理数据仓库性能对比

数据架构 | 逻辑数据仓库与物理数据仓库性能对比

时间:2025-01-08 11:58:04浏览次数:3  
标签:逻辑 架构 方法 数据仓库 查询 毫秒 数据

在逻辑数据湖和逻辑数据仓库方法中,数据虚拟化系统在多个数据源之上提供统一的查询访问和数据治理功能(见图1)。这些数据源通常包括一个或多个物理数据仓库、Hadoop 集群、SaaS 应用程序以及其他数据库。两种方法的主要区别在于:逻辑数据湖更强调 Hadoop 的作用,而逻辑数据仓库则更偏向传统的 BI(商业智能)流程。

数据虚拟化集成示意图
图1: 在“逻辑数据仓库”和“逻辑数据湖”方法中,数据虚拟化系统在多个数据源之上提供统一的报表与治理功能。这些数据源通常包括一个或多个物理数据仓库或数据集市(Data Mart)、基于 Hadoop 的系统、业务运营数据库、SaaS 应用(例如 Salesforce)等。

逻辑数据湖和逻辑数据仓库的吸引力在于,与“物理”方法相比,它们可以节省大量的时间和成本。在“物理”方法中,所有数据都需要预先复制到一个单一系统中。数据复制意味着更高的硬件成本、更多的软件许可费用、更多需要开发和维护的 ETL 流程、更大的数据不一致风险以及更高的数据治理成本。此外,这也意味着更长的上市时间。而逻辑方法则能够利用现有系统,最大限度地减少甚至完全消除对数据复制的需求。

然而,在这些“逻辑”方法中,数据虚拟化服务器需要在多个系统之间执行分布式查询。因此,自然会有人问:这些查询的性能与“物理”方法相比如何?

正如我们在之前的文章中所展示的,即使是需要处理数十亿行数据的复杂分布式查询,如果使用正确的优化技术,也可以通过网络传输非常少量的数据来完成。现在,是时候用一个真实的示例来量化这些技术的性能了!


示例场景:逻辑数据仓库性能测试

请看图2中简化的逻辑数据仓库场景。在这个场景中,信息分布在三个不同的系统中:

  • 包含销售数据的 Netezza 系统(大约 2.9 亿行数据)
  • 包含客户信息的 Oracle 数据库(大约 200 万行数据)
  • 包含产品信息的 SQL Server 数据库(大约 20 万行数据)

这些表的模式和数据由 TPC-DS 定义,这是决策支持系统行业最重要的基准测试标准。

逻辑数据仓库场景
图2: 一个简化的“逻辑数据仓库”场景。销售数据、客户数据和产品数据分布在三个不同的系统中。


性能测试结果

以下表格展示了一些常见决策支持查询在“逻辑”场景(使用 Denodo 作为数据虚拟化工具)和“物理”场景(将所有数据预先复制到 Netezza 系统中)的执行结果对比:

查询描述返回行数物理场景平均执行时间(所有数据在 Netezza 中)逻辑场景平均执行时间(数据分布在三个数据源中)优化技术(Denodo 自动选择)
按客户汇总的总销售额,包括客户数据199 万行20975 毫秒21457 毫秒全聚合下推(Full Group By Pushdown)
查询 2000 至 2004 年间按客户和年份汇总的总销售额,包括客户数据551 万行52313 毫秒59060 毫秒全聚合下推(Full Group By Pushdown)
按商品和品牌汇总的总销售额,包括商品数据3.135 万行4697 毫秒5330 毫秒部分聚合下推(Partial Group By Pushdown)
查询销售价格低于当前标价的商品的总销售额,包括商品数据1.705 万行3509 毫秒5229 毫秒动态数据迁移(On-the-Fly Data Movement)

数据分析

  • 查询条件的选择性较低:从第一列可以看出,这些查询并未使用高度选择性的条件。例如,第1和第3行的查询完全没有指定过滤条件,因此需要在各自的数据源中处理数亿行数据。
  • 返回结果规模较大:第二列显示,查询返回了数百万行的结果。
  • 性能差异很小:第三列和第四列的对比表明,逻辑方法与物理方法之间的性能差异非常小。

最后一列展示了每个查询执行时,Denodo 自动选择的优化技术(这些技术在之前的文章中有详细描述)。

数据查询优化策略: 全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移-CSDN博客文章浏览阅读128次,点赞2次,收藏4次。关于数据虚拟化在逻辑数据仓库和逻辑数据湖架构中查询优化的实际应用示例。全聚合下推、分区剪枝、部分聚合下推以及动态数据迁移https://blog.csdn.net/Denodo/article/details/145002597?spm=1001.2014.3001.5501


结论

在这一系列文章中,我们比较了逻辑数据仓库和逻辑数据湖方法与“物理”方法的性能表现。在“物理”方法中,所有数据都需要预先复制到一个单一系统中。我们证明了,在处理数十亿行数据的复杂 BI 查询(甚至不使用任何过滤条件)时,逻辑方法仍能够实现与物理方法相当的性能。

实现这一点的关键在于,数据虚拟化系统能够智能地选择和应用一系列优化技术,最大限度地减少网络中的数据传输量。此外,逻辑方法还避免了与基于复制的方法相关的大量时间和精力投入,提供了更短的上市时间,并为统一的安全性和治理功能提供了单一入口。

我们认为,这一洞察对于当前和未来的 BI 和大数据架构具有重要意义。

标签:逻辑,架构,方法,数据仓库,查询,毫秒,数据
From: https://blog.csdn.net/Denodo/article/details/145004420

相关文章

  • 现代企业架构白皮书
    数据架构元模型综述数据架构的内容元模型包括“结构”、“端口”两个部分,如下图所示:结构部分用来对数据模型、数据处理建模,其中包括数据对象、数据组件端口部分用来对数据模型的边界建模,其中包括数据服务数据架构元模型应用数据对象和数据组件建模   数据对象......
  • Mysql高可用架构方案
    Mysql高可用架构方案合集-中间件(9) 1.SpringBoot整合MinIO2023-09-132.Nginx安装nginx-rtmp-module模块2024-03-133.OBS+Nginx+VLC推拉流2024-03-134.Redis的未来2024-04-085.阿里DataX极简教程2024-05-166.安装nginx-http-flv-module模块2024-09-237.Mysql高可用架构方......
  • 支持多语言、多商店的商城,.Net7 + EF7领域驱动设计架构
    推荐一个跨平台、模块化、可扩展且超快速的开源一体化电子商务平台。01项目简介Smartstore支持桌面和移动平台、多语言、多商店、多货币的商城,并支持SEO优化,支持无限数量的产品和类别、报表、ESD、折扣、优惠券等等。还有一套全面的CRM和CMS、销售、营销、付款和物流处理......
  • 智慧工地解决方案深度解析:统一架构平台,十大产品线与AI+智慧工地产品趋势
    目录一、统一架构平台:智慧工地的中枢神经二、十大产品线:全面覆盖工地管理各个环节1、智慧工地监管云平台2、塔机监测系统3、实名制考勤管理系统4、视频监控管理系统5、BIM与智慧工地融合系统6、升降机管理系统7、智能安全帽8、周界防护子系统9、安全教育培训系统10......
  • 车载软件架构 --- 车载控制器软件开发过程
    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身边有这样灵性的人,一定要......
  • 基于AI底座的数智油气田参考架构
     基于AI底座的数智油气田参考架构ArchitectureforIntelligent&DigitalOilfiledsBased-onAI王权2024.12.29  2024年12月29日,在石油圈-能源说线上讲座中,王权首次提出“基于AI底座的数智油气田参考架构”。该架构可视为其于2003年提出的“数字油田参考架构”的升......
  • 豆包AI数学对话的底层逻辑
    引言;在一次偶然的机会我使用豆包AI在求解一道数学题目的过程中,发现了最基本的数学公式,即便是我认为AI数学对话中的底层逻辑,本次我的研究,也是基于这一底层逻辑进行分析,刨析AI对话中如何实现从图片到解题这一过程,了解AI数学对话的底层思想对于豆包AI,其求解数学题目分为如下几......
  • 人工智能前沿探讨:从Transformer架构到机器意识与迁移学习的应用
    Transformer架构可能为理解人脑的运作提供新的视角Transformer架构与人脑的相似之处是一个颇受关注的话题。虽然人脑和Transformer架构之间有许多差异,但也有一些相似之处,值得我们探讨。相似之处:注意力机制:Transformer架构中的注意力机制是它的一个关键组成部分,这使得......
  • 百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
    穷举法:把生活所见所闻全部归纳到我们所学的知识体系中,加以思考变成自己的东西。(举例子)类比法:把自己熟悉的方法(利用自己已有的知识体系),去对比学习新的知识。Spring怎么学?1.环境准备好了没有?2.项目里边有红叉:x:学习源码,不一定要让项目跑起来,报一两个红叉其实不要紧......
  • 百万架构师第九课:源码分析:Spring 源码分析:Spring5源码分析-预习资料|JavaGuide
    三、Spring5概述Spring是一个开源的轻量级JavaSE(Java标准版本)/JavaEE(Java企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完成的应用是由一组相互协作的对象组成。所以开发一个应用除......