Core Concepts
多バージョン同時実行制御において、視認性ロバストネスと競合ロバストネスが一致する十分条件を示し、PostgreSQLやOracleの分離レベルがこの条件を満たすことを明らかにした。
Abstract
本論文では、多バージョン同時実行制御における視認性ロバストネスと競合ロバストネスについて検討している。
まず、視認性ロバストネスは、与えられた分離レベルの下で許可される全てのスケジュールが視認性シリアライザブルであることを要求する。一方、競合ロバストネスは、全てのスケジュールが競合シリアライザブルであることを要求する。競合ロバストネスは視認性ロバストネスを含意するが、逆は成り立たない。
次に、一般化分割スケジュールと呼ばれる特殊なスケジュールを定義し、これがロバストネスの反例となることを示した。そして、一般化分割スケジュールが存在しない場合、競合ロバストネスと視認性ロバストネスが一致することを示した。
最後に、PostgreSQLやOracleの分離レベル(RC、SI、SSI)がこの条件を満たすことを証明した。つまり、これらの分離レベルでは、競合ロバストネスと視認性ロバストネスが一致し、視認性ロバストネスを許容することで、より多くのトランザクションセットをロバストとして扱えるわけではない。ただし、競合シリアライザビリティと視認性シリアライザビリティの決定問題の複雑性は大きく異なる。
Stats
競合シリアライザビリティは多項式時間で決定できるが、視認性シリアライザビリティはNP困難である。
RC、SIの分離レベルでは、競合シリアライザビリティの決定は多項式時間だが、視認性シリアライザビリティの決定はNP困難である。
Quotes
"視認性シリアライザビリティは、より許容的な概念であり、より多くのスケジュールをシリアライザブルとみなすことができ、データベースの一貫性に対する直感的な理解により近い。"
"競合ロバストネスは視認性ロバストネスを含意するが、逆は成り立たない。"