rdbms
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| rdbms [2008/11/13 02:20] – 外部編集 127.0.0.1 | rdbms [2014/03/31 05:07] (現在) – [エンタープライズRDBMS無料版] nullpon | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== リレーショナルデータベース ====== | ====== リレーショナルデータベース ====== | ||
| + | ===== トランザクション ===== | ||
| + | |||
| + | ==== エラーリード ==== | ||
| + | |||
| + | | ダーティリード | 未コミットデータをリードすること。ロールバックされると不正な値を読み込んだという事になる。| | ||
| + | | ファジーリード | トランザクション中に同じ条件で2回リードしたときに、結果が異なる。トランザクション中に他トランザクションによってコミットされると発生する。| | ||
| + | | ファントムリード | トランザクション中に同じ条件で2回リードしたときに、行が消えたり増えたりしている。トランザクション中に他トランザクションによって挿入、削除がコミットされると発生する。| | ||
| + | |||
| + | ==== トランザクション分離レベル ==== | ||
| + | |||
| + | | Read Uncommited | コミットされてないデータが読める。| | ||
| + | | Read Commited | コミットされてないデータは読めない。ダーティリードを抑止する。 | | ||
| + | | Repeatable Read | トランザクション終了まで、そのトランザクションに影響するデータを更新できない。ファジーリードまで防げる。| | ||
| + | | Serializable |トランザクション終了まで、そのトランザクションに影響しうるトランザクションは実行されず、待ち状態になる。ファントムリードまで防げる。| | ||
| + | |||
| + | 下に行く程安全だが性能が犠牲になる。多くのDBはRead Commitedがデフォルト。MySQL(InnoDB)はRepeatable Readがデフォルト。 | ||
| + | |||
| + | 例えばRepeatable Readでは、あるトランザクションAで '' | ||
| ===== エンタープライズRDBMS無料版 ===== | ===== エンタープライズRDBMS無料版 ===== | ||
| Oracleなどの高価なDBMSにも無料版が存在する。ライセンスをよく読んで使用すること。 | Oracleなどの高価なDBMSにも無料版が存在する。ライセンスをよく読んで使用すること。 | ||
| - | * [[http:// | + | * [[http:// |
| * 要OTN登録 | * 要OTN登録 | ||
| - | * [[http:// | + | * [[http:// |
| * [[http:// | * [[http:// | ||
| - | + | ||
| - | Oracleは無料でWebアプリのバックエンド等に使える。スケールアップの必要がでてきたらクラスタリング等高度な機能を有する有料版にアップグレードできる(それがOracleの戦略だろう)。企業向けのアプリならば、初期費用を抑え、大規模になってきたらOracle社のスペシャリストに任せるという方法も良いだろう。 | + | |
rdbms.1226542846.txt.gz · 最終更新: (外部編集)