[pgsql-jp: 33140] Re: PostgreSQL カンファレンスお礼および MySQL のデータが壊れる件
EBIHARA Yuichiro
uiebi @ yahoo.co.jp
2004年 6月 7日 (月) 17:54:12 JST
海老原です。
--- TANIDA Yutaka <tanida @ sra.co.jp> からのメッセージ:
>
> > 某がOracleだとして、これはロールバックできなくなるのではなく、他トラ
> > ンザクションがコミットした更新の更新前イメージが見えなくなることがあ
> > る、ということです。
>
> まあ、私は某がOracleとは一言も言っていませんが:-)その挙動も大変な問題
> になりませんか?
なりますね。
「ORA-1555 スナップショットが古すぎます」はOracleでも最もやっかいなエラー
ですから。(発生確率を低くはできても、100%確実に回避する方法がない)
> ところで、今のOracleはロールバックセグメントを使い果たしても(一つのト
> ランザクションでロールバックセグメントの容量を超えてしまうような大量の>
更新をしても)正しいロールバックが可能なんですか?
未コミットのトランザクションが使っているロールバックセグメント領域は上書
きされませんからロールバックはできます。
ただし、詳しくは忘れましたが「ロールバックセグメントを拡張できない」旨の
エラーが出て、領域を追加したりしない限りは先に進めなくなってしまいます。
> > でもMySQLやOracleでも、ディスクが許す限りの大きなロールバックセグメ
> > ントをとっておけば、あまり大きな違いはないような気もします。
>
> そうですね。しかし、前もって大量の領域を用意しなければならないのであれ>
ば、PostgreSQLのVACUUMが必要なアーキテクチャと似たり寄ったりじゃないで>
しょうか。
えぇ、どっちも一長一短だと思います。
> しかし個人的に言うと、分離レベルというのは、どうも既存のDBが完全なサポ
> ートをするとものすごく遅くなってしまったので、パフォーマンスのための救
> 済策であるように理解しているので、とにかく実装する、というスタンスにあ>
まり前向きにはなれないですね。
同意します。自分の場合、例え4レベルあっても、結局はRead Commitedでうまく
いくように設計してしまうと思います。
> 何を持ってエンタープライズ用途と呼ぶか、でしょう。たとえばsf.netは
> PostgreSQLで動いているらしい(資料が見つかりませんが)ですが、あれはエ>
ンタープライズでしょうか、そうでないのでしょうか?
うちの会社の基幹系業務がエンタープライズ。止まるとビジネスインパクトがで
かいやつ。^^;
他の会社・組織の定義は知りません。
こんな定義なので、自前で評価・検証するしかないわけでして。
--
海老原 雄一郎
pgsql-jp メーリングリストの案内