存储架构模式之数据库存储架构

news2024/12/24 20:01:15

数据库读写分离

读写分离解决了读的问题。读被分离出去了,写性能的提升还是会有的。

数据库慢不需要直接上读写分离,先尝试优化索引,加入缓存等操作。

数据库读写分离复杂度分析

任务分解:读请求打到从机,写请求打到主机,要分清读和写

数据库读写分离复制延迟

读取失败是指,insert而不是update,因为update的时候,你无法确定更新失败了,因为从是有数据的。

以上方法中,方法3相对好一些,简单很多。

数据库读写分离任务分解

程序代码封装模式:对于Java语言,maven直接引入jar包就可以了

程序代码封装模式不需要考虑高可用、高性能,因为程序代码封装模式嵌入到应用程序中,而应用程序已经考虑了高性能高可用了。

数据库分库分表

拿什么作为分表键:

如果ID是自增的,那么就可以直接用ID进行分段

如果ID不是自增的,那么可以用ID进行hash

按照时间进行分表,比如按照一天一个表

分库

之前用户数据、商品数据、订单数据都在同一个库里面,现在分为三个库(部署到不同的物理机器上),当操作用户数据的时候操作用户数据库,当操作商品数据的时候操作商品数据库,当操作订单数据的时候操作订单数据库。

分表

mysql InnoDB Buffer Pool 如果装不下表数据,那么性能就会急剧下降到原来的1/10。缓存如果不能缓存下来整个表数据,那么就会频繁的进行磁盘的读取,性能就会降低。

水平分表复杂度和应对方法

路由问题,需要知道哪个数据在哪个机器上(分片上)

count只能一个数据库一个数据库的count(手动)

现在sharding JDBC已经将如上问题给封装了。

水平分表能够通过加服务器来不断提升性能么?分表一定度是可以提升的,但是分的太细在某种场景下效果反而不好,比如计算总count,同时分的过多,服务器的连接数也会更多,此时性能会逐渐下降。

水平分表伸缩瓶颈

对于应用而言,Sharding-JDBC只有一个,分表越多,这里也会成为瓶颈

200连接是只活跃连接数,每个连接都有大量的请求

数据库分布式事务

分布式事务算法-2PC

分布式事务算法-3PC

这里的脑裂是指有的提交者提交了事务,有的提交者没有提交事务

2PC比3PC用的更多,3PC的交互更多,网络消耗更大,3PC更复杂,异常处理更难

XA

要想支持分布式事务,需要数据库层面的支持。事务协调者就是我们自己的代码。下面是一个简单例子。

思维导图

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

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

相关文章

kafka发送消息-生产者发送消息的分区策略(消息发送到哪个分区中?是什么策略)

生产者发送消息的分区策略(消息发送到哪个分区中?是什么策略) 1、默认策略,程序自动计算并指定分区1.1、指定key,不指定分区1.2、不指定key,不指定分区 2、轮询分配策略RoundRobinPartitioner2.1、创建配置…

【前端基础篇】CSS基础速通万字介绍(上篇)

文章目录 前言CSS介绍什么是CSS基本语法规范 引入方式内部样式表行内样式表外部样式总结 代码风格样式格式样式大小写空格规范 选择器选择器的功能选择器的种类基础选择器标签选择器类选择器id选择器通配符选择器基础选择器总结 复合选择器后代选择器子代选择器并集选择器 伪类…

杀软对抗 ----> 你真的Bypass火绒了吗?

目录 1.白加黑?syscall? ......绕过火绒??? 2.内存对抗 ​3.CS已死 ??? 是真的 ! 玩免杀的都知道,我们说到国产,基本上都是360,对于…

AutoCAD 2010 x64图文安装教程及下载.

AutoCAD 2010 是 Autodesk 于2009年发布的一个版本,是 AutoCAD 系列中的一个重要里程碑。以下是 AutoCAD 2010 x64 的一些关键特性和改进: 参数化绘图:增加了几何约束和尺寸约束功能,使用户能够创建更精确、可调整的设计模型。动…

树章节习题

今天也是小小的把树的章节的内容大体过了一遍,总共有树上dp,LCA(最近公共祖先),树的直径,以及树上差分 P1395 会议 很经典的树上dp里面的换根dp问题,现在这里说几个数组 sz数组,用…

多模态协同学习框架 DMCL

https://arxiv.org/pdf/2408.05914 一.discriminative and robust model 早期传统的reid的工作方式,因无法在大规模数据集上产生有竞争力的结果,所以本文中为相关工作,并未成为本文方法。 二.Dynamic Multimodal Feature Fusion Strategy 提…

计算机毕业设计选题推荐-产品订单管理系统-产品销售管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

YOLOv8目标检测推理流程及Python代码

在这章中将介绍目标检测推理原理,以及基于onnx模型使用Python语言进行推理。在推理原理章节中,将了解onnx模型的输入和输出,对输入的图片需要进行预处理的操作,对输出的结果需要进行后处理的操作等;在Python代码篇,将给出推理代码。 这里注意一下的是,由于在导出onnx模型…

【数学分析笔记】第2章第4节收敛准则(2)

2. 数列极限 2.4 收敛准则 2.4.1 单调有界定理 【例2.4.3】 x 1 2 , x n 1 3 2 x n , n 1 , 2 , 3 , . . . x_{1}\sqrt{2},x_{n1}\sqrt{32x_{n}},n1,2,3,... x1​2 ​,xn1​32xn​ ​,n1,2,3,...&#xff0c;证明 { x n } \{x_{n}\} {xn​}收敛并求极限。 【证】 0 <…

InternVL 多模态模型部署微调实践

一、什么是InternVL nternVL 是一种用于多模态任务的深度学习模型&#xff0c;旨在处理和理解多种类型的数据输入&#xff0c;如图像和文本。它结合了视觉和语言模型&#xff0c;能够执行复杂的跨模态任务&#xff0c;比如图文匹配、图像描述生成等。通过整合视觉特征和语言信…

中仕公考怎么样?事业编联考、统考、单招介绍

一、事业编考试流程 发布公告——注册报名——交报名费——报名确认——打印准考证|——笔试——调剂——面试——体检——录用 二、招聘公告查看渠道&#xff1a; ①事业单位招聘网 事业单位公告都会发布&#xff0c;包括各类招考信息、报名信息等; ②各省人事考试网 是…

Telnet不止于端口测试:探索经典工具的多样化应用

文章目录 Telnet详解与实用指南1. 引言2. Telnet 的安装和启动2.1 在 Windows 上安装 Telnet2.2 在 Linux 上安装 Telnet2.3 在 macOS 上使用 Telnet 3. Telnet 的基本命令与操作3.1 远程登录3.2 测试端口连通性3.3 调试网络服务3.4 网络协议调试3.5 简单的文件传输 4. Telnet …

继承的初始化顺序

B类继承A类后&#xff0c;new B()后执行顺序如下&#xff1a; 1、执行A类的静态方法&#xff08;只执行一次&#xff09; 2、执行B类的静态方法&#xff08;只执行一次&#xff09; 3、执行A类的成员变量的赋值&#xff08;没有赋值操作则忽略此步&#xff09; 4、执行A类的…

Datawhale X 李宏毅苹果书 AI夏令营(深度学习进阶)taks2(2.1+2.2+2.3)

task2.1 自适应学习率 临界点其实不一定是在训练一个网络的时候会遇到的最大的障碍。 一般在训练一个网络的时候&#xff0c;损失原来很大&#xff0c;随着参数不断的更新&#xff0c;损失会越来越小&#xff0c;最后就卡住了&#xff0c;损失不再下降。当我们走到临界点的时…

VLDB 2024 即将来袭!创邻科技将带来精彩分享

8月26-30日&#xff0c;数据库领域最权威、影响力最大的顶级盛会之一&#xff0c;VLDB 2024 来了&#xff01; VLDB&#xff08;International Conference on Very Large Databases&#xff09;是数据管理、可扩展数据科学和数据库研究人员、厂商、应用开发者以及用户广泛参与…

ssrf简介

目录 SSRF漏洞 漏洞原理 形成原因 SSRF用途: 怎么找到SSRF漏洞? 漏洞案例 SSRF漏洞 漏洞原理 SSRF(Server-Side Request Forgery:服务器端请求伪造)是——种由仅专构造形成由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF是要目标网站的内部系统。(因为他是…

【原创】java+swing+mysql健身房管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片&#xff0c;希望和大家…

无人机RTK定位定向技术详解

无人机RTK&#xff08;Real-Time Kinematic&#xff0c;实时动态差分技术&#xff09;定位定向技术&#xff0c;是无人机领域的一项高精度导航与定位技术。它结合了全球导航卫星系统&#xff08;如GPS、GLONASS、Galileo、BDS等&#xff09;与实时差分技术&#xff0c;通过地面…

精彩管道不会梦到深沉蓝调

如果上天开了眼 请多给我点蓝调 多给我点沙锤 多给我点甲壳 让我吃鸡&#xff01; 星元自动机&#xff0c;新的版本之神 给宁磕一个 完蛋 你说这不是问题吗 我这篇文章从我写开始&#xff0c;到写完 炉石都换赛季了&#xff01;&#xff01;&#xff01;&#xff01…

HTB-Redeemer(redis)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解Redeemer这台机器&#xff0c;主要是对redis组件进行渗透&#xff0c;了解思路 渗透过程 更改一下 目录结构&#xff0c;先写 渗透过程&#xff0c;再写 题解 信息搜集 通过nmap扫描 发现开启了6379…