Merge pull request #242 from lynkeib/patch-2

adjust wording for linearizability vs serializability
This commit is contained in:
YIN, Gang 2022-06-05 16:00:58 +08:00 committed by GitHub
commit 6d3927ff0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
ch9.md
View File

@ -142,7 +142,7 @@
> >
> **线性一致性Linearizability** 是读取和写入寄存器(单个对象)的 **新鲜度保证**。它不会将操作组合为事务,因此它也不会阻止写入偏差等问题(请参阅 “[写入偏差和幻读](ch7.md#写入偏斜与幻读)”),除非采取其他措施(例如 [物化冲突](ch7.md#物化冲突))。 > **线性一致性Linearizability** 是读取和写入寄存器(单个对象)的 **新鲜度保证**。它不会将操作组合为事务,因此它也不会阻止写入偏差等问题(请参阅 “[写入偏差和幻读](ch7.md#写入偏斜与幻读)”),除非采取其他措施(例如 [物化冲突](ch7.md#物化冲突))。
> >
> 一个数据库可以提供可串行化和线性一致性,这种组合被称为严格的可串行化或 **强的单副本可串行化strong-1SR**【4,13】。基于两阶段锁定的可串行化实现请参阅 “[两阶段锁定](ch7.md#两阶段锁定)” 一节)或 **真的串行执行**(请参阅 “[真的串行执行](ch7.md#真的串行执行)”)通常是线性一致性的。 > 一个数据库可以提供可串行化和线性一致性,这种组合被称为严格的可串行化或 **强的单副本可串行化strong-1SR**【4,13】。基于两阶段锁定的可串行化实现请参阅 “[两阶段锁定](ch7.md#两阶段锁定)” 一节)或 **真的串行执行**(请参阅 “[真的串行执行](ch7.md#真的串行执行)”一节)通常是线性一致性的。
> >
> 但是,可串行化的快照隔离(请参阅 “[可串行化快照隔离](ch7.md#可串行化快照隔离)”)不是线性一致性的:按照设计,它从一致的快照中进行读取,以避免读者和写者之间的锁竞争。一致性快照的要点就在于 **它不会包括该快照之后的写入**,因此从快照读取不是线性一致性的。 > 但是,可串行化的快照隔离(请参阅 “[可串行化快照隔离](ch7.md#可串行化快照隔离)”)不是线性一致性的:按照设计,它从一致的快照中进行读取,以避免读者和写者之间的锁竞争。一致性快照的要点就在于 **它不会包括该快照之后的写入**,因此从快照读取不是线性一致性的。