vSAN vs SmartX 超融合:BI 数仓跑批效率对比测试

在《VMware 与 SmartX 分布式存储缓存机制浅析与性能对比》中,我们分析了 vSAN 7 缓存击穿的问题及其原因。近期,某金融用户在进行数据仓库分布式存储选型时,同样遭遇了测试过程中 vSAN 出现缓存击穿而难以完成全量跑批任务的问题。随后,用户采用 SmartX 超融合(内置分布式存储 ZBS)进行跑批测试与性能优化,经过多轮测试验证,SmartX 超融合可稳定承载 Oracle 数据仓库 BI 系统,并有效缩短跑批时间约 42%(从生产环境的 8.5 小时缩短至低于 5 小时),满足客户在性能及稳定性方面的要求。本文,我们将对这一测试实践进行分享,为有需求的读者提供参考。

更多数据库与数据仓库场景探索实践,欢迎下载阅读《金融核心生产业务场景探索文章合集》系列电子书(已更新为 3 册合集)

测试背景

某金融客户在生产环境中使用 x86 服务器和全闪集中式存储 EMC PowerMax 支撑 Oracle 数据仓库,为 BI 系统提供数据收集、整合、分析和呈现支持,帮助企业进行决策制定和业务洞察。而随着业务开展,PowerMax 使用已超过 3 年,剩余存储空间不足,难以应对未来数据增长。同时,由于存储使用 8GB FC HBA 卡,难以充分发挥 NVMe 的性能优势。基于这些问题,用户考虑对生产环境存储系统进行更换,以更先进的分布式存储进行架构升级。

用户首先对 vSAN 架构进行 BI/DW 跑批测试。然而,测试过程中发现,vSAN 由于受到磁盘组写缓存 600G 上限影响(7:3 读写),在全量跑批场景下 10 分钟就出现缓存击穿情况,导致整体性能下降,影响其他业务系统 VM,无法完成跑批任务。为了避免击穿问题,用户只能以限速 30MB/s 进行抽量跑批(全量跑批 ⅓ 数据量),不仅无法充分利用闪存性能,更不能在生产环境要求的时间窗口(8.5 小时)内完成全量数据跑批任务。

发现 vSAN 难以满足生产需求后,用户转向考虑其他分布式存储方案。在了解到 SmartX 超融合(内置自研分布式存储 ZBS)丰富的金融生产环境案例与优化的缓存机制后,用户计划对 SmartX 超融合环境下的 BI/DW 进行多轮跑批测试,验证性能和可靠性。

测试目标与项目

本次测试关注 Oracle 数据仓库在 SmartX 超融合架构下的跑批性能优化效果,通过 3 轮多次跑批测试(基于不同存储硬件),对比生产环境集中式存储方案、vSAN 方案和 SmartX 超融合架构下 Oracle 数据仓库的存储性能和跑批时间。具体验证项目如下:

  • 观察在多轮跑批测试中,SMTX OS 是否会出现缓存击穿的情况。
  • 验证基于 SMTX OS 的跑批时间能否满足生产环境 8.5 小时的时间窗口要求。
  • 验证 SmartX 超融合架构能否同时承载 BI/DW 及新的 SQLServer 数据库,同时满足 I/O 性能要求。

环境与配置

测试架构与软硬件配置

finance-bidw-performance-1.png

软件版本:

  • vSAN 环境:vSAN 7.0u3
  • SmartX 超融合环境:超融合软件 SMTX OS 5.1.0、集群管理 CloudTower 3.0、vSphere 7.0U3

业务资源配置

finance-bidw-performance-2.png

测试过程与结果

第一轮测试

第一轮跑批使用 HCL 以外磁盘进行测试(Kioxia CD7 NVMe SSD),与 vSAN 测试环境相同。结果如下:

  • vSAN 环境跑批结果:写缓存击穿,抽量跑批,关闭归档。
  • SmartX 测试跑批:写缓存命中率基本接近 100%,没有出现缓存击穿情况;首轮跑批全量数据 9 小时内完成,可基本满足当前日常跑批需求,但仍可寻找更优方案。

finance-bidw-performance-3.png

第一轮测试 – SmartX 超融合环境下数仓跑批写缓存命中率表现

第二轮测试

为进一步提升性能表现,第二轮测试更换使用 Intel P5620 6.4T NVMe SSD 作为缓存 (直接换盘),同时为进一步贴合生产场景,打开归档并进行跑批测试。结果显示,SmartX 超融合环境下 BI/DW 仅需 8.5 小时即可完成全量跑批任务,但监控数据显示读缓存命中率较低,读写延迟有部分时间段均高于 10ms,判断为冷数据交互导致,因此计划开展第三轮跑批优化。

finance-bidw-performance-4.png

第二轮测试 – SmartX 超融合环境下数仓跑批读缓存命中率表现

第三轮测试

考虑到客户未来生产环境集群将承载多套 DB 数据库,希望进一步将跑批时间控制在 8 小时内,同时避免上轮测试中出现的读缓存击穿问题,因此第三轮测试中使用全闪设备(Samsung PM893 7.68T SATA SSD)在不分层的设置下进行测试。

结果显示,SmartX 超融合环境下,BI/DW 仅需不到 5 小时即可完成全量跑批任务,同时可承载 SQLServer 数据库,数据量约 10T,存储容量使用率为 83%。全闪集群下,读带宽有所提高(最高达 1.9GBps),读写延迟均大幅下降:写延迟最高 8.05ms,平均为 4ms;读延迟最高不超过 5ms,平均为 2ms。

finance-bidw-performance-5.png

finance-bidw-performance-6.png

第三轮测试 – SmartX 超融合环境下数仓跑批读写表现

测试结果汇总

三轮测试后,SmartX 超融合环境下数据仓库整体跑批时间满足客户预期,可避免缓存击穿问题,同时验证了在高存储使用量的场景下,存储性能依旧能够满足客户日常使用需求。尤其是跑批时间方面,在数据量完全相同的情况下,基于超融合架构的 Oracle 数据仓库 BI 系统跑批时间由客户生产环境中 8.5 小时缩短至不到 5 小时,跑批时间缩短 42%。

Oracle 数据仓库在生产环境、vSAN 环境和 SmartX 超融合环境的跑批测试数据对比如下图所示。

finance-bidw-performance-7.png

SmartX 超融合与生产环境数仓跑批用时对比

finance-bidw-performance-8.png

vSAN 架构、SmartX 超融合和生产环境数仓跑批用时对比

测试结论

  • 通过多轮连续测试验证,SmartX 超融合架构相比原生产传统架构,在进行 Oracle 数据仓库报表跑批时有了明显的性能提升,超出客户预期。
  • 验证了 Oracle 数据仓库从 x86 4 路物理服务器迁移到 2 路超融合服务器的可行性,同时确认性能及运维简易度方面可满足需求。
  • 超融合的架构简单、资源弹性、高性能和稳定性得到充分检验。

目前,用户已采用 SmartX 超融合构建 7+7 全闪双活集群作为生产 DB 资源池,稳定支撑新核心系统的 SQLServer Always-On 数据库集群,Oracle RAC 形态承载 BI、零售库存、ESP、影像等数据库集群, 以及多套生产所需的 Oracle、MySQL 等数据库。

除了上述实践,SmartX 超融合和分布式存储对金融行业数据仓库场景的支持能力,也得到其他用户的测试验证。欲了解更多,请阅读:

  • Oracle 数据仓库在超融合架构下的跑批性能验证
  • 金融用户实践|分布式存储支持数据仓库业务系统性能验证

您还可以点击链接,获取《金融核心生产业务场景探索文章合集》系列电子书,全面了解超融合在金融核心业务系统、数据库与数据仓库、信创转型与架构升级等场景下的能力表现。

阅读原文:BI 数仓跑批测试:vSAN 缓存击穿,SmartX 超融合缩短跑批时间近一半|金融用户实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/510064.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

时序数据库IoTDB:功能详解与行业应用

一文读懂时序数据库 IoTDB。 01 为什么需要时序数据库 解释时序数据库前,先了解一下何谓时序数据。 时序数据,也称为时间序列数据,是指按时间顺序记录的同一统计指标的数据集合。这类数据的来源主要是能源、工程、交通等工业物联网强关联行业…

【算法】二分查找(红绿灯法)

引言 该方法来自b站算法大师兄,可用作通用模版处理二分查找问题,不用特意考虑边界临界值等情况。 方法描述 红色节点是小于target,绿色节点是大于等于target。 我们首先定义两个下标代表左和右,分别为-1和n。然后用红箭头和绿箭…

如何在Linux系统运行RStudio Server并实现无公网IP远程访问【内网穿透】

文章目录 推荐 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

干货必读: 测试开发既然都这么厉害了!为啥不直接转业务开发?

前段时间,在后台收到一则留言:“请问一下,你觉得开发技术好,还是测试技术好,如果测试技术好,为什么不直接开发,干嘛做测试?” 这是一则很有意思且大多数技术新人普遍存在的困惑&…

kubernetes-dashboard 安装配置

k8s 1.23以上的版本 https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 执行命令: kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 安装完成后&#x…

[问题记录] oracle问题汇总记录

plsql问题 1、oracle-initialization error could not locate OCI.dll 下载plsql客户端后,登录显示如图所示的错误 解决方法,点击下方链接,下载64位客户端 Instant Client for Microsoft Windows (x64) 64-bit (oracle.com) 2、显示中文乱…

百度语音识别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、建号—获取试用KEY二、测试代码三、运行四、运行结果五、验证五、总结 一、建号—获取试用KEY https://console.bce.baidu.com/ai/#/ai/speech/overview/index…

【Spring】SpringBoot整合MybatisPlus的基本应用

📝个人主页:哈__ 期待您的关注 一、MybatisPlus简介 先来看一下官方的简介吧。 MyBatis-Plus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。Myb…

Adaboost集成学习 | Matlab实现基于GRU-Adaboost门控循环单元结合Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习 | Matlab实现基于GRU-Adaboost门控循环单元结合Adaboost集成学习时间序列预测(股票价格预测) 模型设计 股票价格预测是一个具有挑战性的时间序列预测问题,可以使用深度学习模型如门控循环…

基于LSB(最低有效位)的图像水印算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

学习使用echats因xAxis值过多,可以滚动的柱状图解决方案

学习使用echats因xAxis值过多,可以滚动的柱状图解决方案 效果图柱状图代码关键代码 效果图 柱状图代码 function echarts() {// 基于准备好的dom,初始化echarts实例var myChart echarts.init(document.getElementById(echart4));let xaxisData [1, 2,…

数据库 06-01 事务

01.定义 02.性质 03.简单事务模型 例子:

数据采集工具如何使用呢?那么设置数据采集的方法又是什么呢?

数据采集工具将能够非常有效地解决面临的各种问题。这款工具被设计成一种自动化数据采集工具,特别适用于对日志文件数据的采集。一旦完成设置,该工具将在后台实时进行数据采集,并自动对收集到的数据进行清洗,以确保最终保存到的数…

zIO: Accelerating IO-Intensive Applications with Transparent Zero-Copy IO——论文泛读

OSDI 2022 Paper 论文阅读笔记整理 问题 零拷贝IO一直是一个长期的性能目标。复制会引入内存和CPU开销,限制IO密集型应用程序的性能。IO数据复制在IO堆栈内、通过其应用程序编程接口(API)和应用程序内执行。现有工作的重点是开发零拷贝IO A…

紫光展锐P7885核心板详细参数介绍_5G安卓智能模块开发方案

紫光展锐P7885核心板采用了先进的6nm EUV制程工艺,集成了高性能的应用处理器和金融级安全解决方案,为用户带来了全新的性能体验。 P7885核心板搭载了先进的6nm制程工艺SoC P7885,其中包含四核A76和四核A55,主频可达2.7Ghz&#xf…

MySQL-linux安装-万能RPM法

一、MySQL的Linux版安装 1、 CentOS7下检查MySQL依赖 1. 检查/tmp临时目录权限(必不可少) 由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执行 : chmod -R 777 /tmp2. …

spring boot3登录开发-3(2短信验证登录/注册逻辑实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 上文衔接 内容简介 功能分析 短信验证登录实现 1.创建交互对象 用户短信登录/注册DTO 创建用户登录VO…

Linux利用Jenkins部署SpringBoot项目保姆级教程

在当今快速发展的软件开发领域,持续集成和持续部署(CI/CD)已经成为提升开发效率、缩短产品上市时间的关键实践。Linux系统以其稳定性和开源友好性,成为众多开发者和企业的首选平台。而Spring Boot,作为一个轻量级的Jav…

【论文笔记】Text2QR

论文:Text2QR: Harmonizing Aesthetic Customization and Scanning Robustness for Text-Guided QR Code Generation Abstract 二维码通常包含很多信息但看起来并不美观。stable diffusion的出现让平衡扫描鲁棒性和美观变为可能。 为了保证美观二维码的稳定生成&a…

STM32FATFS(未完待续)

注意,本博客适合像我一样的小白,会的不多,但是想快速做些东西,不适合会写驱动的大佬。另外,示例代码中的注释有误(从多个项目中移植过来的,未做更改),请不要被误导&#…