ANSI SQLトランザクション分離レベルとデータベース ロックの対応 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

分離レベル規格の考案者はそのルールをインプリメンテーションから独立した用語で定義することを意図したので、ANSI SQLトランザクション分離レベルとデータベース ロックの間には一対一の対応はありません。つまり、考案者が意図したのは、ロッキング(特に、2フェーズ ロッキング プロトコル)に基づく実装のみでなく、多数のさまざまな実装に適用できるトランザクション分離レベルの規格を定義することです(2PLについては、<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>を参照)。

唯一の直接的な対応は、分離レベルSERIALIZABLEと2フェーズ ロッキングの標準的な商用データベース管理システムの実装との対応です(2フェーズ ロッキングについては、<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>を参照)。規格の他のすべての分離レベルは、現象と呼ぶもので定義され、ダーティー読取りはその一例です。Teradata DatabaseはACCESSロッキングを使用してダーティー読み取りを可能にするので、ANSI分離レベルのREAD UNCOMMITTEDロックおよびTeradata Database ACCESSロック間には良好といえる対応があります。しかしながら、READ UNCOMMITTEDのANSI定義は正式に定義されたというよりは英語で書かれており、詳細については解釈の余地を残しています。