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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

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

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