数据库管理-第203期 阻碍数据库国产化前行的硬件(20240614)

数据库管理203期 2024-06-14

  • 数据库管理-第203期 阻碍数据库国产化前行的硬件(20240614)
    • 1 有但不是全有
    • 2 满足部分也是满足
    • 3 晚而慢
    • 总结

数据库管理-第203期 阻碍数据库国产化前行的硬件(20240614)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问、OceanBase观察团成员,青学会(青年数据库学习互助会)外部顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

也许看到本期文章的题目,会觉得,得嘞,又一个黑国产硬件的来了,但是我今天真不是来黑国产硬件的,而是吐槽一下硬件采购,下面举几个栗子。

1 有但不是全有

为了提升数据库各节点的网络交互能力,在几年前的采购意向填写中,就加入对25GE、40GE网络环境的需求。然而当硬件采购下来之后,令人欣喜的是,服务器网卡支持25GE和40GE,交换机也支持40GE,但所有光模块和光纤都是10GE的,把硬件的向下兼容做到了极致。
在分布式存储场景下,共享存储的性能就被限制在了10GE;如果有负载较大的分布式数据库场景,网络也会限制整体性能的上限,有时候也会造成分片不能太大从而浪费单机性能。

2 满足部分也是满足

“众所周知”,其实很多国产数据库对磁盘IO要求是挺高的,往往都要求服务器配置SSD,而目前一般使用的SSD主要有3大类接口(或称总线):

  • SATA接口:理论速率为6Gbps,约等于750MB/s,实际速率一般不超过600MB/s
  • SAS接口:目前大多数为12Gbps,性能约为SATA接口的2倍,兼容SATA接口,实际速率一般为1200MB/s
  • PCIe总线:这里就可以直接使用PCIe接口、M.2接口或者U.2接口,一般来说以X4(4通道)为一个单元(使用一个X8/X16的PCIe接口可以拆分成多个X4),在NVMe协议的加持下,PCIe 3.0 X4的实际速率可以来到3500MB/s以上,而PCIe 4.0 X4的实际速率可以来到7500MB/s以上

这里还需要注意:

  • 有些M.2接口是不支持PCIe总线而是走的SATA总线的,速率最大也仅支持6Gbps
  • 很多SATA SSD实际性能并不能全面赶超高转速大缓存SAS HDD,相较于PCIe NVMe SSD成本优势也不明显
  • SSD除了速率的提升,IOPS的提升也不是HDD可以比拟的,PCIe NVMe SSD提升尤为显著

那么从实际需求来看,选择SAS SSD是一个相对折中的不错的选择。但是从实际服务器到货情况来看,有两个极端:要么只有2块480GB用于操作系统的SAS SSD,因为这类服务器往往是高性能CPU+大内存,用于计算,本来的计划是使用高性能共享存储来存放数据;另一种就是CPU和内存配置很一般,但有大量的SATA SSD,这种服务器更多是规划用于做类似于分布式存储或者对象存储的。
然而数据库场景即是计算密集型也是IO密集型,这就造成了采购的服务器要么没磁盘没IO,要么IO一般般计算能力还不够。

3 晚而慢

近几年的硬件发展不可谓不快,如前面提到的PCIe NVMe SSD,一块硬盘可以超过十几年前一个集群的性能;高带宽RDMA交换机的出现,100GE只是起步,800GE也不是上限;内存也从DDR4来到了DDR5,性能有带来了翻天覆地的进步…
其实前两节说的问题,都是硬件采购过程因种种原因时间较长,采购量又非常大,负责采购的人往往也不了解硬件;同时规划覆盖时间长到货周期也长,并没有考虑硬件进步速度。到下一次采购时又会出现相同的问题,周而复始,让可用的硬件一直落后于时代发展。另一方面,随着时代在进步,尤其是数据量的海量膨胀,长周期的硬件采购到后期经常出现硬件资源不足的情况,且不易缓解。
这也是为什么很多时候国产数据库测试时,特别是在测试结果不尽如人意时,会听到厂商吐槽提供的硬件不行。这个时候也许真不是数据库产品的问题,而是硬件确实很拉胯。

总结

本期吐槽了下硬件采购的种种问题。
老规矩,不知道写了些啥。

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

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

相关文章

JavaFX:使用appendText自动滚动TextArea,但不使用侦听器

JavaFX是一种用于构建富客户端应用程序的Java库。它提供了丰富的图形化用户界面(GUI)组件和功能,使开发人员能够创建具有吸引力和交互性的应用程序。 在JavaFX中,TextArea是一个用于显示和编辑多行文本的控件。要实现使用appendT…

Python+Opencv是实现车牌自动识别

使用Python和OpenCV实现车牌自动识别(车牌识别系统,LPR, License Plate Recognition)是一个复杂的任务,通常涉及多个步骤,包括图像预处理、车牌定位、字符分割和字符识别。以下是一个简化的步骤概述以及如何使用OpenCV和其他库(如Tesseract OCR)来实现这些步骤: 图像预…

opencv roi改进版

点击鼠标左键开始画roi,右键或者回车代表画框完毕 并且做了封装。 import cv2 import numpy as npclass ROIDrawer:def __init__(self, image_o):self.drawing = Falseself.ix, self.iy = -1, -1self.roi = Noneself.image_o =image_oself.image = self.image_o.copy()self.…

基于springboot的城市垃圾分类管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的城市垃圾分类管理系统,…

java写一个验证码

生成验证码 内容:可以是小写字母,也可以是大写字母,还可以是数字 规则 长度为5 内容中是四位字母,1位数字。 其中数字只有1位,但是可以出现在任意的位置。 package User;import java.util.ArrayList; import jav…

C# WPF入门学习主线篇(三十三)—— 使用ICommand实现命令绑定

C# WPF入门学习主线篇(三十三)—— 使用ICommand实现命令绑定 在MVVM模式中,命令绑定是将用户交互(如按钮点击)与ViewModel中的方法连接起来的一种机制。使用ICommand接口可以实现这一功能,从而将UI逻辑与业…

【深度学习】【Prompt】使用GPT的一些提示词

f翻译论文用这个提示词: # 翻译规则## 翻译规则1 请在翻译这篇学术论文时,严格保留所有专业术语的原始英文表述,不要尝试将它们翻译成中文,而不是专业术语的部分,需要翻译为中文。保持所有文章引用格式和内容的完整无…

智能制造前沿:ARMxy工控机在机器人控制中

机器人控制系统正逐步成为现代制造业的核心引擎。在这个过程中,ARMxy工业计算机以其独特的优势,成为了驱动这一变革的关键力量。本文将以自动化装配线机器人为例,探讨ARMxy如何通过其低功耗、高性能特性,以及高度灵活性的设计&…

C++ 35 之 对象模型基础

#include <iostream> #include <string.h> using namespace std;class Students05{ public:// 只有非静态成员变量才算存储空间&#xff0c;其他都不算int s_a; // 非静态成员变量&#xff0c;算对象的存储空间double s_c;// 成员函数 不算对象的存储空间void f…

计算机视觉基础课程知识点总结

图像滤波 相关: 核与图像同向应用&#xff0c;不翻转。 卷积: 核在应用前翻转&#xff0c;广泛用于信号处理和深度学习&#xff08;现在常说的二维卷积就是相关&#xff09;。 内积: 向量化的点积操作&#xff0c;是相关和卷积的一部分。 模板匹配&#xff1a;通过在图像中…

SQL Server连接前端:深度解析与实用指南

SQL Server连接前端&#xff1a;深度解析与实用指南 在构建现代应用程序时&#xff0c;后端数据库与前端界面之间的连接是至关重要的。对于使用SQL Server作为后端数据库的开发人员来说&#xff0c;理解如何有效地将SQL Server与前端连接起来&#xff0c;是实现数据交互和功能…

【MySQL】日志详解

本文使用的MySQL版本是8 日志概览 它们记录了数据库系统中的不同操作和事件&#xff0c;以便于故障排除、性能优化和数据恢复。本文将介绍MySQL中常见的几种日志&#xff0c;同时也会介绍一点常用的选项。 官方文档&#xff1a;MySQL :: MySQL 8.0 Reference Manual :: 7.4 M…

准提法介绍

南怀瑾对准提法的评论 准提法究竟有什么好呢?不论在家、出家一样的有效果&#xff0c;不管何时何地是净是垢&#xff0c;最脏之时&#xff0c;地也都可以修。密宗其他咒子&#xff0c;其他法门就不一定行&#xff0c;有些咒子&#xff0c;如吃了一口大蒜、犯了什么忌讳&#x…

在C#中,有多种方式可以实现每天在指定的时间清空数据库数据。下面列出几种常用的方法,并提供简要的实现思路:

在C#中&#xff0c;实现每天在指定时间清空数据库数据的需求&#xff0c;可以通过多种方式来完成。下面列举了几种常用的方法&#xff1a; 方式一&#xff1a;使用 Task 和 Timer 这种方法利用 System.Threading.Timer 类来定时执行清空数据库的操作。 using System; using …

vscode cmake c++ include 设置

在这里设置编译器路径&#xff0c;include路径等等。 一个奇怪的现象是同一项目放在VS中可以cmake生成&#xff0c;并正常运行&#xff0c;但是放在VSCODE中cmake生成时会报错&#xff0c;如iostream、limits等头文件找不到。当在VS中运行执行完成调试后&#xff0c;在运行VSC…

Spring中的IOC

IOC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;是Spring框架核心概念之一。它是一种设计原则&#xff0c;用来实现对象的松耦合和依赖管理。在传统的编程中&#xff0c;对象负责创建或查找其依赖对象&#xff0c;而在IOC模式下&#xff0c;这些职责被移…

通用与垂直大模型:应用、挑战与未来发展

本文全面探讨了通用大模型和垂直大模型在人工智能、互联网行业以及教育领域的应用、优势、挑战和未来发展趋势。大模型的发展正经历分化&#xff0c;通用大模型和垂直大模型各有侧重&#xff0c;共同推动AI技术进步和商业智能变革。 文章目录 1.1 通用大模型的定义与特点1.2 垂…

力扣1482.制作m束花所需的最少时间

力扣1482.制作m束花所需的最少时间 二分答案 check的时候 用一个bool数组判断是否开花找连续的k朵花 const int N 1e510;int st[N];class Solution {public:int minDays(vector<int>& bloomDay, int m, int k) {int n bloomDay.size();if(n < (long long)m*…

DDPM公式推导(一)

去噪扩散概率模型 Title:Denoising Diffusion Probabilistic Models paper是UC Berkeley发表在NIPS 2020的工作 paper地址 Abstract 我们使用扩散概率模型&#xff08;一类受非平衡热力学启发的潜在变量模型&#xff09;展示了高质量的图像合成结果。根据扩散概率模型与采用La…

(一)PHP 变量

1.声明变量 要点&#xff1a;PHP声明变量用一个“$”符号&#xff1b;PHP变量名是区分大小写的&#xff1b;变量名可以用下划线开头&#xff0c;不能用数字开头&#xff0c;和语言类似&#xff1b; 2.变量的赋值 2.1直接赋值 和C语言一样&#xff0c;不多说。eg. $a"dd…