StackTc 2018-07-19 01:57 采纳率: 90.9%
浏览 1228
已采纳

关于数据库读写分离读问题,求大神指导

数据库读写分离是希望数据库修改操作不影响数据库查询读效率。
那么问题来了
1:如果不进行读写分离,也是可以同时进行修改跟查询操作的吧
2:如果进行了读写分离,同时进行查询操作跟修改操作,那么这个查询操作不会出现脏读现象吗。
  • 写回答

5条回答 默认 最新

  • ayuan_23 2018-07-19 02:17
    关注
    1. 不进行读写分离,可以同时进行修改和查询. 但是这个“同时”是需要加双引号的,因为需要看数据库的多个事务的隔离级别。 多个事务同时进行的时候,为了防止互相干扰,数据库有隔离级别。
    2. 如果进行了读写分离,是否会脏读 答案是会,但是概率非常低,计算机科学没有完美的解决方案,许多方案只是出错概率低而已。 读写分离,那么写库的数据变化,需要及时同步到读库(从库), 一般情况下,数据文件的同步比查询快的多, 数据延迟没有那么严重,基本都是秒级的,可能两个请求来回,数据就已经同步好。不会出现脏读的情况, 但是在一些特殊的场景下,比如网络抖动,新加字段,可能数据同步延迟会变大, 此时master slave的数据会出现不一致,如果insert/update/delete后立刻select, 就有可能读不到或者脏读。所以具体把读写分离放在哪一层,以及数据同步的优先级和策略, 写库发生变更部分的那一部分数据,从库是否需要加读锁等方案,都要根据业务类型和实际情况来决定。 再说一遍,许多问题没有完美的方案,只有合适的方案
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器