首页 > 数据库 >数据库读写分离和分库分表

数据库读写分离和分库分表

时间:2024-08-04 13:25:27浏览次数:16  
标签:主库 分库 读写 分离 同步 分表 从库 数据库

读写分离

读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上。

一般情况下,我们都会选择一主多从,也就是一台主数据库负责写,其他的从数据库负责读。主库和从库之间会进行数据同步,以保证从库中数据的准确性。这样的架构实现起来比较简单,并且也符合系统的写少读多的特点。

# 读写分离会带来什么问题?如何解决?

读写分离对于提升数据库的并发非常有效,但是,同时也会引来一个问题:主库和从库的数据存在延迟,比如你写完主库之后,主库的数据同步到从库是需要时间的,这个时间差就导致了主库和从库的数据不一致性问题。这也就是我们经常说的 主从同步延迟 。

主从同步延迟问题的解决,没有特别好的一种方案(可能是我太菜了,欢迎评论区补充)。你可以根据自己的业务场景,参考一下下面几种解决办法。

1.强制将读请求路由到主库处理。

既然你从库的数据过期了,那我就直接从主库读取嘛!这种方案虽然会增加主库的压力,但是,实现起来比较简单,也是我了解到的使用最多的一种方式。

比如 Sharding-JDBC 就是采用的这种方案。通过使用 Sharding-JDBC 的 HintManager 分片键值管理器,我们可以强制使用主库。

HintManager hintManager = Hin

标签:主库,分库,读写,分离,同步,分表,从库,数据库
From: https://blog.csdn.net/wjianwei666/article/details/140905017

相关文章

  • ShardingSphere实战(3)- 快速实现分库分表
    上篇博客,我们讲了ShardingSphere实战(2)-水平分表,这篇博客,我们继续实现分库以及解决前面遗留的问题。一、绑定表基于上篇博客配置的前提下(上篇博客的最后放上了完整的配置,需要的可以去看看,这里就不重复写上去了),加上绑定表的配置:#绑定表关系spring.shardingsphere.shar......
  • 常用的读写文件操作
    读JSON或txt文件常用:withopen(new_path,'r',encoding='utf-8')asfile:data=json.load(file)'''todo'''json.loads()和json.load()都是将操作对象转换成Python对象,其中json.loads()是对字符串进行操作,json.load()是对文件进行操......
  • 使用Redisson和分库分表技术实现海量请求注册功能
    文章目录1.海量注册的常见问题和解决方案概述2.布隆过滤器判断用户唯一性3.通过分布式锁和快速失败策略对同一时间的某一个账号进行锁定4.数据库唯一索引兜底5.通过水平分库水平分表配置分片规则6.通过自定义线程池和异步初始化配置线程池操作异步化1.海量......
  • 数据库系列: 主流分库分表中间件介绍(图文总结)
    相关文章数据库系列:MySQL慢查询分析和性能优化数据库系列:MySQL索引优化总结(综合版)数据库系列:高并发下的数据字段变更数据库系列:覆盖索引和规避回表数据库系列:数据库高可用及无损扩容数据库系列:使用高区分度索引列提升性能数据库系列:前缀索引和索引长度的取舍数据库系列:My......
  • 深入理解MyCAT分库分表机制:架构师的秘密武器
    一、MyCAT分库和分表的概念1.分库(DatabaseSharding)分库是将一个大数据库拆分成多个小数据库,以减小单个数据库的压力并提高系统的扩展性。每个子数据库可以分布在不同的服务器上,从而分散负载并提高性能。示例:假设我们有一个用户信息数据库users_db,其中包含了大量的用......
  • 检测Linux服务器CPU、内存、负载、IO读写、机房带宽和服务器类型的脚本
    脚本内容:#!/usr/bin/envbash####RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'SKYBLUE='\033[0;36m'PLAIN='\033[0m'about(){ echo"" echo"=============================......
  • H7-TOOL自制Flash读写保护算法系列,为STM32H7全系列芯片制作读写使能和解除算法,支持在
    说明:很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。最近好几个网友咨询H7系列芯片保护支持,马不停蹄,已......
  • H7-TOOL自制Flash读写保护算法系列,为国民技术N32G031制作读写使能和解除算法,支持在线
    说明:很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。实现效果:本次添加国民技术的N32G031,从2.26版本开......
  • 达梦DM8读写分离环境搭建及原理
    达梦DM8读写分离环境搭建及原理 DM8读写分离是建立在主备基础上,搭建过程大致相同,区别如下:1、主备的dmarch.ini不同。读写分离是:ARCH_TYPE=TIMELY#即时归档类型主备是:ARCH_TYPE=REALTIME#实时归档类型2、客户端连接集群配置稍有不同。客户端主机上需要配置dm_sv......
  • mysql的主从复制和读写分离
    目录主从复制主从复制的模式1.异步模式2.全同步模式3.半同步模式主从复制的延迟主从复制的延迟的原因解决方案双一设置性能化设置主从复制如何实现安装步骤读写分离实验步骤面试题主从复制主从复制的模式1.异步模式mysql的默认模式:主库在更新完事务之后会......