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

news2024/10/7 10:13:54

在《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 超融合缩短跑批时间近一半|金融用户实践

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓Android 架构模式及UI布局设计

文章目录 一、Android UI 简介1.1 在手机UI设计中,坚持的原则是什么1.2 安卓中的架构模式1.2.1 MVC (Model-View-Controller)设计模式优缺点 1.2.2 MVP(Model-View-Presenter)设计模式MVP与MVC关系: 1.2.3 MVVM(Model—View—ViewModel ) 设计模式1.2.4 …

ssm018简易版营业厅宽带系统+jsp

营业厅宽带系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本营业厅宽带系统就是在这样的大环境下诞生,其可以帮助管理者在短时间…

群晖NAS使用Docker部署大语言模型Llama 2结合内网穿透实现公网访问本地GPT聊天服务

文章目录 1. 拉取相关的Docker镜像2. 运行Ollama 镜像3. 运行Chatbot Ollama镜像4. 本地访问5. 群晖安装Cpolar6. 配置公网地址7. 公网访问8. 固定公网地址 随着ChatGPT 和open Sora 的热度剧增,大语言模型时代,开启了AI新篇章,大语言模型的应用非常广泛,包括聊天机…

新发现!科学家最新成果:补充类“原知因起源金”物质可延长寿命23%

近日,美哥伦比亚大学Vijay Yadav团队在《Science》发布了一项重磅级成果:通过补充一种特殊氨基酸(带有磺酸基团的全能抗衰物质),竟然惊人地将实验动物的寿命延长了23%。 而其背后的机制,与早已火爆电商圈的…

Git命令(1)[删除,恢复与移动]

文章目录 1.删除文件1.1命令----rm <filename>1.2命令----git rm <filename>1.1命令----git rm <filename> -f 2.恢复文件2.1命令----git restore <filename>2.1命令----git restore --staged <filename> 3.重命名文件3.1命令----mv <oldFile…

javaweb学习(day10-服务器渲染技术)

一、基本介绍 1.前言 目前主流的技术是 前后端分离 (比如: Spring Boot Vue/React)JSP 技术使用在逐渐减少&#xff0c;但使用少和没有使用是两个意思&#xff0c;一些老项目和中小公司还在使用 JSP&#xff0c;工作期间&#xff0c;你很有可能遇到 JSPJSP 使用在减少(但是现…

分布式唯一ID 雪花算法

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 算法具体介绍 雪花算法是 64 位 的二进制&#xff0c;一共包含了四部分&#xff1a; 1位是符号位&#xff0c;也就是最高位&#xff0c;…

基于Weibull、Beta、Normal分布的风、光、负荷场景生成及K-means场景削减方法

目录 一、主要内容&#xff1a; 二、代码运行效果&#xff1a; 三、Weibull分布与风机风速&#xff1a; 四、Beta分布与光伏辐照度&#xff1a; 五、Normal分布与电负荷&#xff1a; 六、K-means聚类算法&#xff1a; 七、完整代码数据下载&#xff1a; 一、主要内容&am…

vue3的动态组件

动态组件可以根据响应式变量动态的渲染不同的组件&#xff0c;目前是通过Vue 的 元素和特殊的 is attribute 实现的&#xff1a; <component :is"tabs[currentTab]"></component>:is 的值可以是以下几种&#xff1a; 被注册的组件名 导入的组件对象 你…

211基于matlab的多类结构动力学

基于matlab的多类结构动力学&#xff0c;凸轮机构、双凸轮、弦振动模拟、阻尼振动 、四连杆机构 、套杆运动 、三根弹簧作用的振子。程序已调通&#xff0c;可直接运行。 211 matlab 结构动力学 根弹簧作用的振子 - 小红书 (xiaohongshu.com)

蓝桥杯第793题——排水系统

题目描述 对于一个城市来说&#xff0c;排水系统是极其重要的一个部分。 有一天&#xff0c;小 C 拿到了某座城市排水系统的设计图。排水系统由 n 个排水结点&#xff08;它们从 1∼n 编号&#xff09;和若干个单向排水管道构成。每一个排水结点有若干个管道用于汇集其他排水…

SSM框架学习——工厂模式、Spring核心容器与Bean

工厂模式、核心容器与Spring Bean 工厂模式 工厂模式是Java中常用的一种设计模式&#xff0c;这种类型的设计模式属于创建型模式。说白了在代码层面就是取消了new的使用。 工厂模式有三种&#xff1a; 简单工厂模式工厂方法模式抽象工厂模式 举个例子&#xff0c;我们去买…

Ubuntu20.04安装MatlabR2018a

一、安装包 安装包下载链接 提取码&#xff1a;kve2 网上相关教程很多&#xff0c;此处仅作为安装软件记录&#xff0c;方便后续软件重装&#xff0c;大家按需取用。 二、安装 1. 相关文件一览 下载并解压文件后&#xff0c;如下图所示&#xff1a; 2. 挂载镜像并安装 2…

C++11---右值引用(深度讲解)

简要介绍 右值引用是C11的新特性,无论左值引用还是右值引用&#xff0c;都是在给对象取别名 什么是左值 什么是右值 1.左值,左值引用 左值是一个数据的表达式(例如变量或者解引用后的指针),我们可以对其进行取地址和修改赋值,左值可以出现在赋值符号的左边,而右值不能出现在…

深度解析C语言——预处理详解

对C语言有一定了解的同学&#xff0c;相信对预处理一定不会陌生。今天我们就来聊一聊一些预处理的相关知识。预处理是在编译之前对源文件进行简单加工的过程&#xff0c;主要是处理以#开头的命令&#xff0c;例如#include <stdio.h>、#define等。预处理是C语言的一个重要…

leetcode721. 合并账户【两种方法;并查集;dfs】

文章目录 并查集&#xff08;方法一&#xff09;dfs&#xff08;方法二&#xff09;dfs换一种写法 并查集&#xff08;方法一&#xff09; class Solution {unordered_map<string, int> index; // 每个邮箱都有一个唯一编号int root[10010]; // 并查集…

C++算法——滑动窗口

一、长度最小的子数组 1.链接 209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 2.描述 3.思路 本题从暴力求解的方式去切入&#xff0c;逐步优化成“滑动窗口”&#xff0c;首先&#xff0c;暴力枚举出各种组合的话&#xff0c;我们先让一个指针指向第一个&…

手机销量分析案例

项目背景 某电商商城随着业务量的发展&#xff0c;积累了大量的用户手机销售订单数据。决策层希望能够通过对这些数据的分析了解更多的用户信息及用户的分布&#xff0c;从而可以指导下一年的市场营销方案以及更加精准的定位市场&#xff0c;进行广告投放。 数据说明 数据时…

JAVA基础02-Java语言基础以及编译准备工作

什么是JAVA语言 Java是一门面向对象的编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;还摒弃了C里难以理解的多继承、指针等概念&#xff0c;因此Java语言具有功能强大和简单易用的两个特征。 &#xff08;可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式…

洛谷P1000超级玛丽游戏题解[Python, Rust, Go]

题目 打印超级玛丽字符图像 小技巧 直接复制题目的超级玛丽符号首行会有空格问题&#xff0c;一直AC不过&#xff0c;一行一行地复制就OK了&#x1f44c;。 Rust 题解 fn main() {println!(" ********************####....#.#..###.....##....###...…