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条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!