数据库管理-第295期 IT架构与爆炸半径(20250221)

数据库管理295期 2025-02-21

  • 数据库管理-第295期 架构与爆炸半径(20250221)
    • 1 术语新解
    • 2 硬件:存储VS本地盘
    • 3 数据库
      • 3.1 多模VS专用
      • 3.2 集中式VS分布式
    • 4 公有云VS非公有云
    • 总结

数据库管理-第295期 架构与爆炸半径(20250221)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner

10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)

公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

胖头鱼的鱼缸_01.png
最近大家都在写DeepSeek和AI,上周蹭过热点了,我也就不继续了。
这几天在和几位好友扯淡时,发现一个新鲜用于IT高可用的军事术语——爆炸半径。

1 术语新解

简单来说,爆炸半径就是当某个软件或硬件出现故障时,对整个系统运行的影响程度。比如一台服务器宕机,所有页面打不开了还是部分页面打不开或者全都正常;一个缓存挂了,是无影响、部分数据读不到了还是全都读不到了;一个交换机掉电,是部分设备网络不通还是全都不通了还是都正常等等。作为数据相关从业者,本期主要从数据架构相关层面来进行解读。

2 硬件:存储VS本地盘

“传统”的IT架构中,包括基于VMware的虚拟化和Oracle的基于共享存储的RAC,都有一个非常重要硬件组件——存储,这里主要特指在很多人眼中的称之为“硬盘阵列柜”的东西,也就是集中共享存储。很多人认为集中存储如出现故障,其爆炸半径是十分可怕的,因为不管是虚拟机还是数据库的数据都存放在一个相对集中的地方,一损全毁,很可能整个IT架构的渣都不剩,这个忧虑其实不无道理。也因大家对集中存储爆炸半径的顾虑,加上集中存储高昂的采购费用,使用服务器本地盘以分散副本方式来组织数据成为了一些人的理想架构。
对于企业存储而言,不论是从设计还是实际故障统计看,都不太可能出现整机完全不可用的情况。因为硬件层面存储内部各个组件,包括但不限于磁盘,控制器,电源模块,CPU内存等都是有冗余架构设计的。比如电源是多路冗余PDU供电,除非整机房断电存储设备是不会下电的;再比如单个控制器故障了,他上面的网卡会立即被其他控制器接管(服务器完全无法做到这点)。另一方面,企业存储设备之所以比一堆硬件堆在一起价格高,是因为他不仅仅是硬件简单组装拼插,其内部包含了一套完整的软件逻辑,比如磁盘IO分布和介质生命周期管理,数据因器件老化静默损坏的提前修复,精细化任务调度减少IO抖动等,更不用说还有完整的可视化报表和维护管理工具等。据说企业级存储的代码量可能高达上千万行,而我们知道成熟软件中功能代码占比并不会很高,大部分都是在处理健壮性、故障、异常、易用这些问题,这也是成熟产品真正价值所在。而且存储的高可用架构其实也是非常成熟的,可以实现多活与异地灾备的,当然这个价格也是相对较贵的;另一方面存储其实也可以非常方便的横向扩容,增加容量与性能。
对比使用服务器本地磁盘,其实就服务器本身来说,其故障率是比较高的,稳定性就远低于存储设备,而且稳定性是随着使用时间不断下降的。在某个业务场景下的数据库,9台同期上线的使用本地盘的服务器在非常短的时间内(小于恢复首台故障服务器时间)有6台故障,导致数据库中断且难以恢复。为什么感觉很难看到类似的消息,一方面是有些场景负载小,高负载对硬件耐久度的消耗是明显的,负载小达不到容易出现故障的阈值;另一方面则是关键行业/系统对硬件生命周期管理非常严格,硬件更换周期远低于平均故障时间。很多人没在这方面吃过亏,所以对硬件稳定性没有实际的感触;即便吃过亏有时候没到一定程度也不敢说,毕竟还有决策的成分在里面。
存储除了极高的稳定性以外还能有一些其他的用法/特性:服务器异常可以通过重新挂在对应的LUN即可实现快速恢复数据;需要完整的测试数据,存储容量足够的情况下,可以直接克隆/快照完成一次不完全恢复即可;基于存储的备份与恢复效率也更高等等。
因此我们在一些重要的业务场景/系统会看到一种“奇怪”的数据库架构,数据分散在各个服务器上的存储映射盘中,因为数据库软件与存储对接,备份直接通过存储进行全量+增量操作,任何服务器异常均可通过重新挂载快速恢复。这是一种对稳定性的极端追求。
感觉说了这么多似乎是在给集中存储洗地,但是其高昂的价格确实不适合一些场景。但是我想说的是,单纯讨论一个组件的爆炸半径其实并不那么合理,还需要考虑这个爆炸是不是那么容易发生,毕竟一颗核弹的杀伤力用远火洗地也能实现。

3 数据库

3.1 多模VS专用

数据库是多模解决大多数问题,还是用专用数据库分开去解决特定的问题,在我之前的文章里面也说过很多次。除了应用架构:比如是通过数据库还是应用来处理管各类理数据;技术成熟度:一般情况下专用数据库的性能与功能性强于大多数多模数据库。在某些情况下也有考虑爆炸半径的原因,每种专用数据库承载其擅长的数据有效发挥其效能,一种数据库异常影响部分场景或者仅影响速度;某些用于缓存和全文搜索的数据库还能在其他关联数据库异常时提供应急接管和额外的恢复选择等等。
但是我认为,无论如何选择,数据库的高可用都需要做好,这样才能尽可能的降低任何故障带来的影响。另一方面应用也需要做好击穿/绕行的机制,慢和不可用之间还是有很大的差距的。数据治理也必须做好,不同类型的数据库之间是肯定存在重复数据的,做好这些数据的维护是十分重要的。

3.2 集中式VS分布式

还是一个老生常谈的话题,其实和前面讨论硬件内容也是有一定关联性的,只不过并不是所有的集中式数据库都会使用存储设备来存放数据。使用分布式数据库一方面是解决“单机性能不足”的问题,另一方面也确实可以降低甚至消除单点故障对数据库整体带来的影响。就分布式数据库本身而言影响最大主要有两方面,一个是网络,众所周知相较于CPU-内存-磁盘的交互网络是不稳定的,这种不稳定主要体现在带宽、延迟波动和丢包上,比起核弹的爆炸半径来说,这更像是游击战的袭扰,小而多,某些情况下也足够致命;第二个方面其实是加在网络上的数据的不合理设计或使用,即被迫主要通过网络来筛选数据而不是内存,这将使本就网络不稳定的问题被进一步放大甚至完全崩溃。因为CAP理论,分布式数据库为了保证足够的性能并确保可用性是需要牺牲一定的一致性的,如果设计不合理这个一致性的问题也会被放大并造成巨大影响,不能出现单点故障了,似乎没影响但是数据没对了。分布式数据库需要控制小爆炸带来的累加大范围影响。
我认为,集中式与分布式数据库无好坏之分,二者有各自的优点与应用场景,只不过在我看来随着硬件水平和数据库的巨大发展,很多情况下是可以不一定必需使用分布式数据库解决问题了,举个例子,现在OCI上对接基于SuperCluster和Nvidia GPU构建的AI算力集群的Exadata@Cloud据说是可以处理ZB级数据了,AI时代对数据的高速检索是很重要的。本小节跑远了,补充一句两只手比一只手劲大,为什么人没长出来十个八个手,大脑协调会出问题。

4 公有云VS非公有云

这里说到云,又得划分公有云、私有云、虚拟化、裸金属等等概念,这里按照章节题目定义一下私有化部署的统称为非公有云云。
在一定程度下公有云确实可以简化IT建设的流程,使得业务可以更快上线的同时减少在维护层面的投入,但在一定规模后期费用也会存在不透明的问题。从最近一段时间全球各大公有云的故障来看,其中多次故障的爆炸半径都是核弹级的,不乏整个公有云不可用的出现。不得不说把一切基础架构都交出去,还得看自身的投入与决策,有时候还需要考虑政策与法律因素。
非公有云确实需要投入更多基础架构建设的投入,对技术和人的挑战更大,但是却能自己把控一些关键内容,有时候不那么统一的底座反而能降低一些爆炸半径。但是如果技术架构的复杂度超过了自身把控能力,那么仍会比较危险。
从数据库层面来看,会看到一些严重依赖公有云底座的产品私有化部署时需要一并部署公有云底座,同公有云环境有足够体量不同,在私有化部署公有云底座中经常会发现其本身会消耗较多资源,变相带来一些资源浪费。

总结

老词新用,IT架构需要控制故障的爆炸半径。
老规矩,知道写了些啥。

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

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

相关文章

嵌入式 Linux:使用设备树驱动GPIO全流程

文章目录 前言 一、设备树配置 1.1 添加 pinctrl 节点 1.2 添加 LED 设备节点 二、编写驱动程序 2.1 驱动程序框架 2.2 编译驱动程序 三、测试 总结 前言 在嵌入式 Linux 开发中,设备树(Device Tree)和 GPIO 子系统是控制硬件设备的重要工具…

w803|联盛德|WM IoT SDK2.X测试|pinout|(2):w803开发板简介

概述 W803-Pico是一款基于联盛德W803芯片为主控的开发板,支持IEEE802.11 b/g/n Wi-Fi,以及BT/BLE4.2协议蓝牙。芯片内置高性能32位处理器,主频高达240MHz。内置2MB Flash以及288KB RAM。硬件采用DIP封装,PCB板载天线,…

网络安全之探险

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 因为工作相关性,看着第三方公司出具的网络安全和shentou测试报告就想更深入研究一下,于是乎开始探索网络安全方面的知识,度娘、…

Seata1.5.2学习(二)——使用分布式事务锁@GlobalLock

目录 一、创建数据库 二、配置consumer-service 1.pom.xml 2.application.properties 3.启动类 4.其他代码 三、配置provider-service 1.pom.xml 2.application.properties 3.启动类 4.其他代码 四、分布式事务问题演示与解决办法 (一)分布式事务问题演示 (二)…

2024信息技术、信息安全、网络安全、数据安全等国家标准合集共125份。

2024信息技术、信息安全、网络安全、数据安全等国家标准合集,共125份。 一、2024信息技术标准(54份) GB_T 17966-2024 信息技术 微处理器系统 浮点运算.pdf GB_T 17969.8-2024 信息技术 对象标识符登记机构操作规程 第8部分:通用…

Linux基本指令(三)+ 权限

文章目录 基本指令grep打包和压缩zip/unzipLinux和windows压缩包互传tar(重要)Linux和Linux压缩包互传 bcuname -r常用的热键关机外壳程序 知识点打包和压缩 Linux中的权限用户权限 基本指令 grep 1. grep可以过滤文本行 done用于标记循环的结束&#x…

C语言番外篇(3)------------>break、continue

看到我的封面图的时候,部分读者可能认为这和编程有什么关系呢? 实际上这个三个人指的是本篇文章有三个部分组成。 在之前的博客中我们提及到了while循环和for循环,在这里面我们学习了它们的基本语法。今天我们要提及的是关于while循环和for…

开源嵌入式实时操作系统uC/OS-II介绍

一、uC/OS-II的诞生:从开源实验到行业标杆 背景与起源 uC/OS-II(Micro-Controller Operating System Version II)诞生于1992年,由嵌入式系统先驱Jean J. Labrosse开发。其前身uC/OS(1991年)最初作为教学工…

PH热榜 | 2025-02-23

1. NYX 标语:你智能化的营销助手,助你提升业绩。 介绍:NYX的人工智能助手简化了从头到尾的广告活动管理,帮助你轻松创建高转化率的广告,启动多渠道营销活动,并通过实时分析来优化表现。它还可以整合主要的…

设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件

设备唯一ID获取 支持安卓/iOS/鸿蒙(uni-device-id)UTS插件 介绍 获取设备唯一ID、设备唯一标识,支持安卓(AndroidId/OAID/IMEI/MEID/MacAddress/Serial/UUID/设备基础信息),iOS(Identifier/UUID),鸿蒙&am…

libwebsockets交叉编译全流程

libwebsocket中的webscoket加密功能需要依赖于Openssl库因此需要提前准备好openssl开源库。 交叉编译openssl 下面演示源码方式交叉编译OpenSSL为动态库。 创建个Websocket文件夹,把后续的成果物均放在这个文件中,文件夹中创建子文件夹OpenSSL和libWeb…

图片爬取案例

修改前的代码 但是总显示“失败” 原因是 修改之后的代码 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

MAC快速本地部署Deepseek (win也可以)

MAC快速本地部署Deepseek (win也可以) 下载安装ollama 地址: https://ollama.com/ Ollama 是一个开源的大型语言模型(LLM)本地运行框架,旨在简化大模型的部署和管理流程,使开发者、研究人员及爱好者能够高效地在本地环境中实验和…

游戏引擎学习第119天

仓库:https://gitee.com/mrxiao_com/2d_game_3 上一集回顾和今天的议程 如果你们还记得昨天的进展,我们刚刚完成了优化工作,目标是让某个程序能够尽可能快速地运行。我觉得现在可以说它已经快速运行了。虽然可能还没有达到最快的速度,但我们…

deepseek清华大学第二版 如何获取 DeepSeek如何赋能职场应用 PDF文档 电子档(附下载)

deepseek清华大学第二版 DeepSeek如何赋能职场 pdf文件完整版下载 https://pan.baidu.com/s/1aQcNS8UleMldcoH0Jc6C6A?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/3ee62050a2ac

树形DP(树形背包+换根DP)

树形DP 没有上司的舞会 家常便饭了&#xff0c;写了好几遍&#xff0c;没啥好说的&#xff0c;正常独立集问题。 int head[B]; int cnt; struct node {int v,nxt; }e[B<<1]; void modify(int u,int v) {e[cnt].nxthead[u];e[cnt].vv;head[u]cnt; } int a[B]; int f[B]…

基于 Python 的项目管理系统开发

基于 Python 的项目管理系统开发 一、引言 在当今快节奏的工作环境中&#xff0c;有效的项目管理对于项目的成功至关重要。借助信息技术手段开发项目管理系统&#xff0c;能够显著提升项目管理的效率和质量。Python 作为一种功能强大、易于学习且具有丰富库支持的编程语言&…

紫光同创开发板使用教程(二):sbit文件下载

sbit文件相当于zynq里面的bit文件&#xff0c;紫光的fpga工程编译完成后会自动生成sbit文件&#xff0c;因工程编译比较简单&#xff0c;这里不在讲解工程编译&#xff0c;所以我这里直接下载sbit文件。 1.工程编译完成后&#xff0c;可以看到Flow列表里面没有报错&#xff0c…

完美解决:.vmx 配置文件是由 VMware 产品创建,但该产品与此版 VMware Workstation 不兼容

参考文章&#xff1a;该产品与此版 VMware Workstation 不兼容&#xff0c;因此无法使用 问题描述 当尝试使用 VMware Workstation 打开别人的虚拟机时&#xff0c;可能会遇到以下报错&#xff1a; 此问题常见于以下场景&#xff1a; 从其他 VMware 版本&#xff08;如 ESX…

QQ登录测试用例报告

QQ登录测试用例思维导图 一、安全性测试用例 1. 加密传输与存储验证 测试场景&#xff1a;输入账号密码并提交登录请求。预期结果&#xff1a;账号密码通过加密传输&#xff08;如HTTPS&#xff09;与存储&#xff08;如哈希加盐&#xff09;&#xff0c;无明文暴露。 2. 二…