タグ

MVCCに関するpotato777のブックマーク (5)

  • InnoDBの分離レベルによるMySQLのパフォーマンスへの影響 | Yakst

    MySQL Performance Blogの翻訳。MySQLがサポートする4つのトランザクション分離レベルの特徴とパフォーマンス上の特性を、トランザクション履歴の保持方法に的を当てて比較。 January 14, 2015 by Peter Zaitsev 過去数ヶ月に渡って、InnoDBのトランザクション履歴の負債の危険性と、MVCCがMySQLのパフォーマンス問題の原因になりうることについて、いくつかの記事を書いてきた。この記事ではそれに関連して、InnoDBのトランザクション分離レベルとMVCC(multi-version concurrency control、多版型同時実行制御)との関連性、そしてそれらがMySQLのパフォーマンスにどう影響するのかを取り上げてみようと思う。 MySQLのマニュアルにはMySQLでサポートされているトランザクション分離レベルの詳細な説明がある。こ

    InnoDBの分離レベルによるMySQLのパフォーマンスへの影響 | Yakst
  • Making Snapshot Isolation Serializable 再考 - 急がば回れ、選ぶなら近道

    Making Snapshot Isolation Serializable 再考 ■2013年的な位置付け まずちょうど年度の開始なので、今年は自分的にはRDBMS関連の位置付けとか整理しておきます。去年の後半あたりからの匂いですが、NoSQL的な発展と合わせて、格的なDB回帰が始まっている感じです。NoSQL系のほぼ致命的な弱点の一つがtransaction処理であることは指摘も多いところです。要するにデータが書き込めても不整合が発生しますね、ということになってしまいます。これではなかなか使えない、というのが現状でしょう。 なので、RDBMの最良のノウハウであるtransaction処理とNoSQL的な分散処理をちゃんと整合性とれるようにしましょう、という自然な流れは従前よりもより強い要請が働くでしょう。(できるかどうかは別ですが。) それで、そろそろなんかその手のものがRDBMS

    Making Snapshot Isolation Serializable 再考 - 急がば回れ、選ぶなら近道
  • MVCC(多版型同時実行制御)

    Table of Contents9.1. はじめに9.2. トランザクションの隔離9.3. リードコミッティド隔離レベル9.4. シリアライザブル隔離レベル9.5. アプリケーションレベルでのデータの一貫性チェック9.6. ロックとテーブル9.6.1. テーブルレベルロック9.6.2. 行レベルロック9.7. ロックとインデックス MVCC(MultiVersion Concurrency Control:多版型同時実行制御)とは、マルチユーザ環境におけるデータベースの性能を向上させる高度な技術です。 PostgreSQLのために、Vadim Mikheev( <vadim@krs.ru>)が実装のを貢献をしました。 9.1. はじめに 多くのデータベースシステムでは、同時実行制御のためにロック機構を使用していますが、PostgreSQLではデータ整合性の維持に多版方式を使用しています。

  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • RDBMSのデータの一貫性を保証するための仕組みとして、 MVCC(Oracle, MySQLのInnoDB, PostgreSQL)と ロッキング・メカニズム(Microsoft SQL Server, DB2)の …

    RDBMSのデータの一貫性を保証するための仕組みとして、 MVCC(Oracle, MySQLのInnoDB, PostgreSQL)と ロッキング・メカニズム(Microsoft SQL Server, DB2)の 2つがあることがわかったのですが、 一般的にどちらが優れているのでしょうか。 いろいろな書籍やWebの情報をあたってみたのですが、 この件については、ケースバイケースとお茶を濁している ように見受けられます。音のところをお聞きしたいと思います。 私はMVCCの方が優れていると思います。 ロッキング・メカニズムのように複雑なロックについて 理解する必要がありませんし、MS SQL Serverの2005では、 MVCCを実装しているようだからです。 では、ご意見お待ちしております。

  • 1