当前位置: 首页 > news >正文

一文读懂Sql Server读写分离和分库分表

读写分离
  1. 顾名思义 就是读和写分离 在不同数据库操作 减免操作之间影响 提升性能
    读写分离通过将数据库的读操作(SELECT)和写操作(INSERT/UPDATE/DELETE)分发到不同的物理实例上,从多个维度优化资源利用和并发处理能力,从而显著提升整体性能。
  2. 思路:主从同步 发布订阅 主库应对写 从库应对 读 可扩展从库数量
  3. 适用场景:读多写少,对数据实时性要求较高的业务(如电商商品查询)
  4. 实现建议:
    优先在读多写少​(读写比>4:1)的场景中使用读写分离。
    通过数据库中间件(如ShardingSphere)自动路由读写请求,减少代码侵入性。
    监控主从延迟(SHOW SLAVE STATUS),设置阈值告警(如延迟>1秒触发预警)
  5. 注意事项与局限性
    数据延迟问题:
    异步复制可能导致从库数据滞后,业务需容忍短暂不一致性。
    解决方案:对一致性敏感的读操作仍路由到主库。
    写能力瓶颈:
    读写分离仅扩展读性能,写能力仍受限于主库。
    解决方案:结合分库分表分散写压力。
    成本增加:
    需额外硬件和维护从库,成本上升。
    解决方案:云数据库(如 Azure SQL)按需扩展从库
读写分离如何提升性能
  1. 负载分离:减少资源争用 减少锁的使用
    问题场景
    在单库架构中,读操作(共享锁,S 锁)和写操作(排他锁,X 锁)会竞争同一数据库的资源:
    锁冲突:写操作需要独占资源(X 锁),会阻塞读操作(S 锁)和其他写操作。
    CPU/IO 瓶颈:混合读写负载可能导致 CPU 和磁盘 IO 过载。
    读写分离的优化
    主库(Primary):仅处理写操作,避免读操作占用资源。
    从库(Secondary):通过复制技术(如 AlwaysOn、事务复制)同步主库数据,独立处理读操作。
    效果:
    写操作无需等待读操作释放锁,减少锁冲突。
    读操作不再占用主库的 CPU 和 IO 资源,降低主库压力

  2. <
http://www.dtcms.com/a/90805.html

相关文章:

  • 鼠标在客户区内按下左键和双击右键
  • 光谱范围与颜色感知的关系
  • Spring学习笔记05——Spring Boot的文件结构2(POJO类)
  • 基于 PHP 内置类及函数的免杀 WebShell
  • 【MySQL】mysql日志文件
  • OpenCV图像拼接(3)图像拼接类cv::detail::MultiBandBlender
  • 前端学习笔记--CSS
  • 【机器学习】线性回归和逻辑回归的区别在哪?
  • 【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发
  • Netty——I/O 线程模型
  • 最长连续子序列和的所含元素 -- Kadane算法拓展
  • 【C++网络编程】第8篇:协议设计与序列化(Protobuf、FlatBuffers)
  • 流式ETL配置指南:从MySQL到Elasticsearch的实时数据同步
  • 【设计模式】工厂模式
  • 信息学奥赛一本通 1514:【例 2】最大半连通子图 | 洛谷 P2272 [ZJOI2007] 最大半连通子图
  • vue watch数据监听
  • R语言——字符串
  • RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了,该如何解决?
  • 模型搭建与复现
  • 【Linux网络-多路转接select】
  • Active Directory (AD): 企业网络用户管理的重要性及 AD 迁移方法
  • UNIX网络编程笔记:TCP、UDP、SCTP编程的区别
  • 解决 MySQL 的 sql_mode 中包含 only_full_group_by模式导致group by SQL报错
  • PHP eval 长度限制绕过与 Webshell 获取
  • 穿透Session 0隔离
  • 【每日算法】Day 6-1:哈希表从入门到实战——高频算法题(C++实现)
  • 网络安全基础:五类安全服务、八种安全机制与OSI七层模型的全面解析
  • HTML——什么是块级元素,什么是内联元素,有何区别
  • 使用Django创建项目及介绍
  • OBS虚拟背景深度解析:无需绿幕也能打造专业教学视频(附插件对比)