ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

トランザクション

トランザクション処理

関連する複数の処理を一つの処理単位にまとめて管理する処理方式。
複数の作業を連結した処理単位を「トランザクション」という。
トランザクションとして管理された処理は「すべて成功」か「すべて失敗」のいずれかであることが保証される。

例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。
「出金に成功して入金に失敗」すると、出金された資金が宙に浮いてしまうからである。
このような場合に、出金と入金をまとめて1つのトランザクションとして管理し、どちらか一方が失敗したらもう片方も失敗させ、どちらも成功したときに初めて全体を成功と評価する




http://www.techscore.com/tech/sql/11_01.html

一般にデータベースには多くの人がアクセスし、様々な処理を行います。閲覧するだけの人もいれば、データを追加・更新したり、削除する人もいます。その中でも特に、データの追加・更新・削除、SQL 文で言うと「INSERT 文」「UPDATE 文」「DELETE 文」についての処理のまとまりをトランザクションと言います。

上記 3つのデータ操作文は、お互いに関連をもっていて、連続して実行されることにより、意味のある一つの単位を構成することが少なくありません。トランザクションとはこの一連の作業単位のことで、データの整合性を確保するため、またデータの障害復旧といった目的に利用されます。

トランザクションの特性により、データベースへの同時アクセスを制御したり、障害発生時の処理を制御することができるようになります。




MySQL InnoDBテーブル型
http://www.atmarkit.co.jp/flinux/special/ctl_rdbms/rdbms07.html

トランザクションに対応したInnoDBが標準実装になった点は注目すべきだろう。MySQLのデフォルトのテーブル型であったMyISAMは、SELECT時における抜群の高速性を特徴とするものの、
 ・トランザクションに非対応
 ・更新時にはテーブル全体がロックされるため更新処理が頻繁に発生するシステムには不向き
などの問題があった。

一方のInnoDBは、MyISAMに比べれば低速ではあるものの、トランザクション、行レベルのロックに対応しているため、更新時のデータの整合性が意識されるようなケースには適している。つまり、MySQLを運用する場合、アプリケーションの特質・用途に応じて、最適な機能(テーブル型)を選択することで、高いパフォーマンスを引き出せるのだ。



徹底比較!! PostgreSQL vs MySQL
第3回:トランザクションの比較
http://www.thinkit.co.jp/free/article/0603/10/3/

今回は、PostgreSQLとMySQLのトランザクション関連について両者がどのような特徴を持っているかを解説します。MySQLについては、ストレージエンジンの違いによっても異なるため、MyISAMとInnoDBそれぞれについて解説します。

トランザクション機能をサポートしているのは、PostgreSQLとMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。

関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/125-9cb54a2a

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。