ユーザ用ツール

サイト用ツール


rdbms

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
rdbms [2008/11/13 02:20] – 外部編集 127.0.0.1rdbms [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で ''UPDATE t1 SET value = 5 WHERE number > 1'' というクエリを実行したとき、他のトランザクションで number > 1 の行をUPDATEしようとするとトランザクションAがコミットされるまで待たされる。SerializableではUPDATEに加えてINSERT, DELETEも待たされる。
 ===== エンタープライズRDBMS無料版 ===== ===== エンタープライズRDBMS無料版 =====
 Oracleなどの高価なDBMSにも無料版が存在する。ライセンスをよく読んで使用すること。 Oracleなどの高価なDBMSにも無料版が存在する。ライセンスをよく読んで使用すること。
  
-  * [[http://www.oracle.com/technology/software/products/database/xe/index.html|Oracle Express Edition 10g]]+  * [[http://www.oracle.com/technology/software/products/database/xe/index.html|Oracle Database Express Edition 11g Release 2]]
      * 要OTN登録      * 要OTN登録
-  * [[http://www.microsoft.com/japan/sql/editions/express/default.mspx|Oracle Express Edition SQL Server 2005 Express Edition]]+  * [[http://www.microsoft.com/ja-jp/download/details.aspx?id=29062|Microsoft® SQL Server® 2012 Express]]
   * [[http://www-306.ibm.com/software/data/db2/express/download.html|DB2 Express-C]]   * [[http://www-306.ibm.com/software/data/db2/express/download.html|DB2 Express-C]]
-  +
-Oracleは無料でWebアプリのバックエンド等に使える。スケールアップの必要がでてきたらクラスタリング等高度な機能を有する有料版にアップグレードできる(それがOracleの戦略だろう)。企業向けのアプリならば、初期費用を抑え、大規模になってきたらOracle社のスペシャリストに任せるという方法も良いだろう。+
rdbms.1226542846.txt.gz · 最終更新: 2012/04/15 05:32 (外部編集)