本地事务设计(5)-写倾斜与幻读到底是什么?
2023-05-12 阅读 27
写倾斜和幻读都是数据库中的并发控制问题。
写倾斜是指在分布式事务中,某些事务所涉及的数据分布不均,导致一些节点上的事务执行时间过长,从而影响整个事务的性能。这种情况通常发生在使用分布式锁的场景中,比如在分布式系统中使用数据库表作为分布式锁时,如果某些数据分布不均,就会导致一些节点上的事务等待过长时间才能获取锁,从而影响整个事务的性能。
幻读是指在并发事务中,某个事务在读取某些数据时,发现这些数据已经被其他事务修改或删除,从而导致该事务读取到的数据不一致。这种情况通常发生在使用读取未提交数据的场景中,比如在某些事务中读取某个范围内的数据时,其他事务可能已经修改或删除了该范围内的数据,导致该事务读取到的数据不一致。
为了避免写倾斜和幻读等并发控制问题,可以采用一些技术手段,比如使用分布式事务、使用乐观锁或悲观锁等。此外,在设计数据库时,也需要考虑数据分布的均匀性,避免数据倾斜。
更新于 2023年05月17日