读写分离,就该这么改进

本文是自己对读写分离数据库方面的一些改进想法

一般做数据库读写分离的标准情况是:1台写入数据库+2台查询数据库+1个请求转发器
这样的配置容易出现这样的问题:

1. 写数据库的写入成为瓶颈

2. 查询所需时间还是很长(由于表很大导致)

 

下面这些办法,欢迎大家给出各自的看法

解决办法一:


1.
查询数据库:增加内存,以达到通过内存就可以获取大多数的数据,较少I/O耗时带来的延迟


2.
写入数据库:删除索引,以达到最快速的I/O写入耗时


这样做的问题是:没有针对特别耗时的查询单独处理,因此当执行某些耗时的查询时,会显得特别慢

 

解决办法二:


1. 查询数据库分成2种,分别为:普通数据读取数据库特别耗时查询数据库


2. 针对“特别耗时查询数据库”进行优化,比如:定制索引、分区表、多物理磁盘等


程序中需要为上面这些点进行编码,比如要辨别出哪些是耗时的查询、自动辨别以便下次直接转发查询请求到“特别耗时查询数据库”

 

欢迎大家pk出不同的想法,哈哈。

posted @   McKay  阅读(3620)  评论(8编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2011-04-15 负载均衡之---应用请求路由模块的使用(ARR)(八)[多ARR服务器的使用]
点击右上角即可分享
微信分享提示