「オラクル都市伝説」に対する反応まとめ
技術的な文書を公の場に提示するのであれば、きちんと互いにフェアな前提とするべきだ。「あの」と揶揄されてはいるが、実際ありえない状態での比較に何の意味があるのだろうか。
2010-06-03 15:21:09「あの」データベースでは、Table Full Scan が Block されるほど Long Transaction を実施すると。その前提を等しく当てはめるのであれば、Oracle であっても Commit していないデータが残存しているのでしょう。
2010-06-03 15:24:20また、創造した文章であれば、どのような表現をしてもよいのかと。「検証の段階で遅くて使い物にならない事が判明」とされているが、公平な第三者に検証してもらってもそのような結論にはなっていない。
2010-06-03 15:26:19@miche__rm いえいえ。技術的に正しければ何にも問題はないと思います。でも、これは「ネタ元になった可能性」だけあって、ものすごく恣意的な記載になっていますよね…。残念です。
2010-06-03 15:40:31読取り一貫性により SELECT 発行時点で Commit されているデータを読み込んでいるわけで、「あの」データベースに対して行われているように「多数の更新が行われている」のでしょう。文レベルの読取り一貫性により、SELECT 発行時点なので、最新ではないデータで分析することに
2010-06-03 15:47:11ちなみに「ダーティーリード」は「ロールバックすると存在しないレコードを読み込む」事である。読取り一貫性とは関係しない。Oracle も「あの」データベースも Read Committed であり、コミット済みのデータしか読取ることはできない。
2010-06-03 15:55:22この「コミット済みのデータ」を読み取る際に、SELECT が発行された時点の一貫性を持たせているのが文レベルの読取り一貫性。途中でレコードが更新されても、そのレコードがコミットされても、SELECT 文発行時の「過去のコミット済みデータ」を読取る。
2010-06-03 15:57:28「あの」と揶揄されている可能性の高い SQL Server では、デフォルトではコミット済みデータのみを読取る。ダーティーリードなどしない。
2010-06-03 15:59:04@tskitaga 確かに図がおかしいです。読み取り一貫性の話をしているようなのにNOLOCK(Read Uncommitted)で意図的にダーティーリードさせる説明にすり替わっている。残念。。。
2010-06-03 16:10:28@miche__rm NOLOCK ヒントで読ませてしまうと、都市伝説として「違い」が際立つ物語が成り立たなくなるのです。なので、文中に「ダーティリード」という文言が出てしまい、ウェブコンテンツとしての一貫性を欠いてしまっているのかもしれません。
2010-06-03 16:17:33SELECT 文発行時で最新ではないデータで分析するのが良いのか、未コミットデータを含む可能性があるデータで分析するほうがいいのか。どっちでしょうね。違いはそこだと思うのですが。
2010-06-03 16:19:07もちろん、TempDB の格納先をきちんと設定し、Isolation level を Read Committed Snapshot に変更してもいいのですが。こうなると文レベルの読取り一貫性になり、差をなくすことができますね。
2010-06-03 16:20:22@tskitaga ですね。結果混乱させる文章になっていしまっていて、まことに残念。意図的にミスリードさせようとしているのかもしれませんが、かえって混乱させるだけのような。。
2010-06-03 16:24:25TempDB に更新前レコードデータを格納することでオーバーヘッドになる、とされていますが、レコードの更新前データは UNDO 領域に格納されますよね。同じコストをかけた処理なのではないかと。なのに、Oracle では性能に影響がなく、SQL Server では影響があると。
2010-06-03 16:26:03UNDO 領域はきちんと設計されたディスク上に確保するのに対して、TempDB は C ドライブの単一ファイルを前提としているのでしょうか。
2010-06-03 16:27:19デフォルトでSELECTのLOCK待ちが無いってのはOracleのメリットではあると思うけど、それも伝わらないよなーこの文章。
2010-06-03 16:28:41@miche__rm いえいえ。PowerPivot を例に挙げて揶揄するというのは残念でなりません。ユーザーサイドでのデータ活用を進めるために広く提供しているツールなのに…。
2010-06-03 16:50:02@tskitaga はい。。残念です。人のふんどしをならまだしも、風呂敷を無理やりふんどしとして使っているような。
2010-06-03 16:59:03