さて、昨日のエントリに引き続き、今回はFirebird用の話を勝手に追加してみましょう。
Firebirdの独特なところはWALに相当するものがないからです。
その代わりにcareful writeという方式で一貫性を担保しようとしています。
トランザクションのところで「DB2の名称がANSIと違いわかりにくい〜」と書きましたが、実はFirebirdも同様に十分わかりにくいです。すみません。
ISOとの対応は以下のようになります。
ISO Firebird/InterBase
SERIALIZABLE SNAPSHOT TABLE STABILITY
REPEATABLE READ SNAPSHOT
READ COMMITTED READ COMMITTED
READ UNCOMMITTED 未サポート
これを反映した(そして昨日の補足も追加した)表4は以下のようになります。
(変更したOracle/MySQL/Firebirdのみ)
分離レベル Oracle MySQL(InnoDB) Firebird
非コミット読み取り − ○ −
コミット済み読み取り ◎ ○ ○
再読み込み可能読み取り△ ◎ ◎
直列化可能 ○ ○ ○
また「SQL Server, DB2のコミット済み読み取りは、それぞれの従来の
動作と、Oracle互換の動作の2タイプ有り」とでもしましょうか。
さて、今回の参考資料の該当部分もよまなきゃなぁ。では。
PlanetMySQL Voting: Vote UP / Vote DOWN
Firebirdの独特なところはWALに相当するものがないからです。
その代わりにcareful writeという方式で一貫性を担保しようとしています。
トランザクションのところで「DB2の名称がANSIと違いわかりにくい〜」と書きましたが、実はFirebirdも同様に十分わかりにくいです。すみません。
ISOとの対応は以下のようになります。
ISO Firebird/InterBase
SERIALIZABLE SNAPSHOT TABLE STABILITY
REPEATABLE READ SNAPSHOT
READ COMMITTED READ COMMITTED
READ UNCOMMITTED 未サポート
これを反映した(そして昨日の補足も追加した)表4は以下のようになります。
(変更したOracle/MySQL/Firebirdのみ)
分離レベル Oracle MySQL(InnoDB) Firebird
非コミット読み取り − ○ −
コミット済み読み取り ◎ ○ ○
再読み込み可能読み取り△ ◎ ◎
直列化可能 ○ ○ ○
また「SQL Server, DB2のコミット済み読み取りは、それぞれの従来の
動作と、Oracle互換の動作の2タイプ有り」とでもしましょうか。
さて、今回の参考資料の該当部分もよまなきゃなぁ。では。
PlanetMySQL Voting: Vote UP / Vote DOWN