タグ

トランザクションに関するakaneharaのブックマーク (3)

  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
  • トランザクションが存在しないDBにてその弱点をどのようにカバーするか

    by @dekokun on 2013/09/30 23:30 Tagged as: NoSQL. NoSQL系のDBをメインDBとして使用する場合、最もネックになってくるのはトランザクション周りかと思います。 DBとしてトランザクション機能が提供されていない中でその弱点をどのようにソフトウェアでカバーするかをまとめます。 なお、以下は机上の空論である部分が多く、これから知見を得る度に追記していこうかと思います。 なお、基的にMongoDB, DynamoDBあたりのドキュメント指向DBを想定した記事です。完全なるKVS系(memcachedとか)では、以下記事があてはまらない場合もあるかと思います。 カバーすべきトランザクションの性質 トランザクションの持つべき性質として、「ACID」と呼ばれる以下4つの性質があります。 参考:ACID (コンピュータ科学) - Wikipedia

    トランザクションが存在しないDBにてその弱点をどのようにカバーするか
  • トランザクションは再利用の敵である

    釣りっぽいタイトル。「RDBのトランザクションが絡むとアプリケーション側のプログラムが書きにくくなる」という話です。 もちろんですが、RDBのトランザクション機能は偉大であり、Webアプリケーションでも意識して使わなければならず、「トランザクションなんて使うな」と言いたいわけではありません。 合成できない関数 PHPで素のPDOから考えます。たとえば、以下の関数に問題はあるでしょうか? <?php /* * 古いデータをアーカイブテーブルに移す関数のイメージ */ function moveDataToArchive(PDO $db) { $db->beginTransaction(); try { $db->exec(' INSERT INTO archives SELECT * FROM data WHERE published < CURRENT_DATE '); $db->exec

    トランザクションは再利用の敵である
  • 1