ユーザ用ツール

サイト用ツール


rdbms

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
rdbms [2012/04/15 05:32] nullponrdbms [2014/03/31 05:07] (現在) – [エンタープライズRDBMS無料版] nullpon
行 2: 行 2:
  
 ===== トランザクション ===== ===== トランザクション =====
 +
 +==== エラーリード ====
 +
 +| ダーティリード | 未コミットデータをリードすること。ロールバックされると不正な値を読み込んだという事になる。|
 +| ファジーリード | トランザクション中に同じ条件で2回リードしたときに、結果が異なる。トランザクション中に他トランザクションによってコミットされると発生する。|
 +| ファントムリード | トランザクション中に同じ条件で2回リードしたときに、行が消えたり増えたりしている。トランザクション中に他トランザクションによって挿入、削除がコミットされると発生する。|
  
 ==== トランザクション分離レベル ==== ==== トランザクション分離レベル ====
  
-| Read Uncommited | コミットされてないデータ読める。 | +| Read Uncommited | コミットされてないデータ読める。| 
-| Read Commited | コミットされてないデータは読めない。しかし、トランザクションAは、トランザクションBに影響を与えうるデupdadeやinsertする事ができる +| Read Commited | コミットされてないデータは読めない。ティリード抑止する。 
-| Repeatable Read | コミット済みのデータしか読めず、読み込んだデータはトランザクション終了まで他トランザクションからupdateされない。しかし、トランザクションAは、トランザクションBに影響を与えうるデータをinsertする事ができる | +| Repeatable Read | トランザクション終了まで、そのトランザクションに影響るデータを更新できない。ファジーリードまで防げ
-| Serializable | トランザクション終了までのトランザクション実行できず、待ち状態になる |+| 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.1334467930.txt.gz · 最終更新: 2012/04/15 05:32 by nullpon