並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

transactionの検索結果1 - 27 件 / 27件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

transactionに関するエントリは27件あります。 DBarchitecture開発 などが関連タグです。 人気エントリには 『本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道』などがあります。
  • 本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道

    前提 前提ですが。 transaction=Consistency/Isolationを担保する仕組みの話とする。 一般にtransactionが持つべき属性はACIDと言われる。C/Iに比べて、A/Dが“わかりやすい”のでAtomic/Durableの属性の方が人口に膾炙しているが、現在のtransactionではA/Dネタはあまり話題にならない。A/Dネタはローカルだけで見るのであれば普通にfile system /storageの話になる。元来Atomic/Durableはtransactionのコンテクストでは専らlogging / recoveryの話だった。そして、これは非同期のepoch-basedになるとそれ自体の取り扱い優先度が下がる。現代的なtransactionでは、「現時点ではread committedが保証されているFS/storageでA/Dの問題は(ある程度

      本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道
    • モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith

      モジュラモノリスにおいてトランザクションはどうあるべきなのかについて整理している資料が少ない気付きがあったので「簡易的に」整理しました

        モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
      • ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog

        注意喚起の記事になります。タイトルが結論です。 既にこの問題に言及している記事はいくつかあるのですが*1、私は気付かずに踏んでしまったので、タイトルで「おっと、うちは大丈夫かな」と思ってもらえるようにこの記事を書いています。 joinableとは何か 問題として挙げているjoinableオプションですが、これはネストしたトランザクションの挙動に影響を与えます。少しややこしいので、サンプルコードを見せながら説明します。 # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "activerecord", "7.

          ActiveRecord::Base.transaction(joinable: false)を使ってはいけない - SmartHR Tech Blog
        • 遠かった Rails が "自分事" になった瞬間 〜 transaction 内で job を安全に呼べるようになるまで - giftee Tech Blog

          こんにちは、ギフティでエンジニアをしている mugi です。 先日、Ruby on Rails に初めて PR を出し、マージされました。 github.com この記事では、PR を出すきっかけからマージされるまでの流れ、そしてこの経験を通じて感じた「OSS が "自分事" になる感覚」についてお話しします。 きっかけ:Kaigi on Rails 2025 のトーク きっかけは、Kaigi on Rails 2025 で聞いた「非同期 job を transaction 内で呼ぶなよ!絶対に呼ぶなよ!」でした。 kaigionrails.org このトークでは、Active Record の transaction 内で perform_later を呼び出すと、transaction がコミットされる前に job が実行されてしまう問題が紹介されていました。 ActiveRecord

            遠かった Rails が "自分事" になった瞬間 〜 transaction 内で job を安全に呼べるようになるまで - giftee Tech Blog
          • 【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト

            TL;DR クロージャを引数として受け取るメソッドをモックし,かつ渡されたクロージャ内で呼ばれるメソッドもアサートしたい場合は with(\Hamcrest\Core\IsInstanceOf::anInstanceOf(Closure::class)) andReturnUsing(fn (Closure $closure) => $closure()); を使うことで実現できる メソッドチェーンでそれぞれのメソッドをモックする場合は andReturn($user = Mockery::mock(UserContract::class)); のように,メソッドの戻り値を新たにモックし,変数に格納することで,次のメソッドのモックは,前のメソッドの返り値(のモック)を使うことができる はじめに PHP でテストを書く上ではほぼ必須と言って良いおなじみのモックライブラリ Mockery .

              【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト
            • GitHub - starpos/develop-transaction-system: Source code of the book "Develop A Transaction System" (in Japanese).

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                GitHub - starpos/develop-transaction-system: Source code of the book "Develop A Transaction System" (in Japanese).
              • マイクロサービスのための新製品「Oracle Transaction Manager for Microservices」を徹底解説

                オラクルは近々、マイクロサービスアプリケーション向けに「Oracle Transaction Manager for Microservices(以下、TMM)」をリリースする。まず導入としてマイクロサービスに関する課題を説明し、次にTMMの概要やサポート範囲、最後にオラクルの今後の展望を明かす。 マイクロサービスにおける課題、オラクルの解決策 まずはマイクロサービスの対極にある従前のモノリシック(アプリケーション)から確認しよう。これは1つの巨大岩のようなものだ。内部でローカルトランザクションを実行するため、データベースが絶えず更新され、モジュール間には多数の依存関係があり、コードもテーブルも膨大な数を抱えている。巨大な固まりなので、保守の困難さなどさまざまな課題を抱えている。 一方、マイクロサービスはより小さな独立したモジュールで構成されるもので、各モジュールは個別に開発・テスト・デプ

                  マイクロサービスのための新製品「Oracle Transaction Manager for Microservices」を徹底解説
                • Release 1.0 · starpos/develop-transaction-system

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    Release 1.0 · starpos/develop-transaction-system
                  • Amazon Athena Apache IcebergテーブルフォーマットによるACID Transactionを試してみました! #reinvent | DevelopersIO

                    データアナリティクス事業本部コンサルティングチームの石川です。Apache Icebergテーブルフォーマットを用いて、AthenaからACIDにINSERT、UPDATE、DELETE、タイムトラベル、オプティマイズの操作を可能にする新機能のパプリックプレビューが開始しました。Amazon S3データに対して信頼性の高い行レベルの変更が可能になりますので、実際に試してみます。 AthenaのApache Iceberg機能はプレビューリリースであり、変更される可能性があります。潜在的なデータの損失または破損を回避するために、本番データセットでこのプレビューを使用しないでください。 Apache Icebergとは 今回は、Amazon AthenaがサポートしたApache Icebergというテーブルフォーマットは、巨大なペタバイト規模のテーブル用に設計されたオープンなテーブルフォーマ

                      Amazon Athena Apache IcebergテーブルフォーマットによるACID Transactionを試してみました! #reinvent | DevelopersIO
                    • Reinventing the Transaction Script | F# for fun and profit

                      This page contains links to the slides and code from my talk “Reinventing the Transaction Script”. Here’s the blurb for the talk: The Transaction Script pattern organizes business logic as a single procedure. It has always been considered less sophisticated and flexible than a layered architecture with a rich domain model. But is that really true? In this talk, we’ll reinvent the Transaction Scrip

                        Reinventing the Transaction Script | F# for fun and profit
                      • 虹ぐらし on Twitter: "【注意喚起】先程クレカ会社から電話があって「Apple Payで今朝3回大きな額の買い物された形跡がありますがあなたですか」と言われたのでいいえと答えると、「ではこのtransactionをキャンセルしますね」と言われ、クレカの有効期限、後ろの3桁の番号を聞かれ、さらに→続く"

                        • Microservice and Transaction Management3 : 合意理論からみる2Phase CommitとMicroservice - Qiita

                          はじめに 日立製作所クラウドビジネス推進センタの西谷淳平です。今までの連載の中では、分散トランザクションのACID特性と、その背後に潜む分散トランザクションの原則であるCommitment Orderingに着目し、Microservicesで流行っているSagaデザインパタンの整合性担保能力を語りました。その中で、SagaデザインパタンはIsolationだけではなく、A/Cの特性が失われているという事実を指摘し、その結果としてデータ破壊が起こり得るということを説明しました。 そして、Sagaにおける並行制御機能の欠落を埋めるには2Phase Lockの仕組みを導入し、2Phase CommitやTCCのような形態にするしかないとも話しました。では、この2Phase CommitはMicroserviceに親和性があるのでしょうか?今回はその点について触れたいと思います。 本シリーズの予

                            Microservice and Transaction Management3 : 合意理論からみる2Phase CommitとMicroservice - Qiita
                          • Rails 7: with_lockでもtransactionのロック戦略引数を指定可能になった(翻訳)|TechRacho by BPS株式会社

                            概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Rails 7 adds optional transaction arguments to with_lock | Saeloun Blog 原文公開日: 2022/03/23 原著者: Murtaza Bagwala サイト: blog.saeloun.com 日本語タイトルは内容に即したものにしました。 コンカレンシーの制御には、具体的には2種類のメカニズムがあります。悲観的ロックと楽観的ロックです。 楽観的ロック 楽観的ロック(optimistic locking)モデルは、複数のユーザーが同じレコードを更新しようとすると、他のユーザーもそのレコードを更新しようとしていることを通知せずに更新を許可するコンカレンシー制御です。レコードの変更は、レコードがコミットされるときにだけバリデーションされます。あるユーザーがレコード

                              Rails 7: with_lockでもtransactionのロック戦略引数を指定可能になった(翻訳)|TechRacho by BPS株式会社
                            • Well-organized Transaction Script - リファクタリングの妥協的手法 -

                              設計ナイト2022 Related Links: p.7 https://speakerdeck.com/qsona/developing-masterdata-management-tool-by-using-vscode-extension p.18 https://higayasuo.hatenablog.com/entry/20080519/1211183826 p.30 https://speakerdeck.com/qsona/architecture-decision-for-the-next-n-years-at-studysapuri

                                Well-organized Transaction Script - リファクタリングの妥協的手法 -
                              • Implementing MVCC and major SQL transaction isolation levels | notes.eatonphil.com

                                In this post we'll build a database in 400 lines of code with basic support for five standard SQL transaction levels: Read Uncommitted, Read Committed, Repeatable Read, Snapshot Isolation and Serializable. We'll use multi-version concurrency control (MVCC) and optimistic concurrency control (OCC) to accomplish this. The goal isn't to be perfect but to explain the basics in a minimal way. You don't

                                • Distributed transaction patterns for microservices compared | Red Hat Developer

                                  As a consulting architect at Red Hat, I've had the privilege of working on legions of customer projects. Every customer brings their own challenges but I've found some commonalities. One thing most customers want to know is how to coordinate writes to more than one system of record. Answering this question typically involves a long explanation of dual writes, distributed transactions, modern alter

                                    Distributed transaction patterns for microservices compared | Red Hat Developer
                                  • MySQLエラー調査: Table definition has changed, please retry transaction - shallowな暮らし

                                    はじめに こんにちは、id:shallow1729です。小ネタですが、先日”ERROR 1412 (HY000): Table definition has changed, please retry transaction”というエラーに出会ったのでそれの調査をします。MySQL8.0.31をベースにします。 エラーの意味 まずエラーメッセージで調べると以下の公式ドキュメントが出てきました。 https://dev.mysql.com/doc/refman/8.0/en/innodb-consistent-read.html Consistent read does not work over ALTER TABLE operations that make a temporary copy of the original table and delete the original ta

                                      MySQLエラー調査: Table definition has changed, please retry transaction - shallowな暮らし
                                    • A comparison of transaction models in distributed document databases

                                      🚀 Fauna Architectural Overview White Paper: Learn how Fauna's database engine scales with zero ops required

                                        A comparison of transaction models in distributed document databases
                                      • 【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 | メルカリエンジニアリング

                                        【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 Merpay Tech Fest 2021は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるエンジニアリングを知れるお祭りで、2021年7月26日(月)からの5日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「Payment distributed(分散)transaction case study」の書き起こしです。 Rui Gao氏:皆さん、こんにちは。本日は「Payment distributed(分散)transaction case study」というテーマで発表させていただきます。 まず、簡単に自己紹介させてください

                                          【書き起こし】Payment distributed transaction case study – Rui Gao【Merpay Tech Fest 2021】 | メルカリエンジニアリング
                                        • An In-Depth Analysis of Distributed Transaction Solutions

                                          This article summarizes five distributed transaction solutions and analyzes their features. By Daosu This article summarizes five distributed transaction solutions and analyzes their features: XA Specification, TCC, Saga, Local-Message-Based Distributed Transactions, and Transactional-Message-Based Distributed Transactions. Considering its length, I recommend that you add it to your favorites and

                                            An In-Depth Analysis of Distributed Transaction Solutions
                                          • Reinventing the Transaction Script (NDC London 2020)

                                            The document discusses the concept of 'transaction scripts' in programming, highlighting their effectiveness in organizing domain logic within business applications. It contrasts traditional transaction scripts with functional programming approaches, advocating for the reinvention of these scripts using functional principles and domain-driven design. The author argues that modern transaction scrip

                                              Reinventing the Transaction Script (NDC London 2020)
                                            • Repository pattern and transaction management in golang

                                              Goal Create transaction management code independent of the type of repo Description In this recipe, you will see a proposal for implementing a business service that uses 2 different repositories (repository pattern) in golang. In this example, we will have 2 persistent entities, Person and Changelog and the requirement is that each time we persist a Person, there is the need to have a Changelog as

                                                Repository pattern and transaction management in golang
                                              • Tech Talks vol.49 – The Development Story of the Transaction History Download Feature | PayPay Inside-Out

                                                世界約50カ国の国と地域から集まった個性豊かなプロダクトメンバーたちの声を通して、モノづくりへの姿勢や雰囲気をダイレクトにお伝えするTech Talksシリーズ。 今回は、PayPayへ新たに実装された、待望の取引履歴のダウンロード機能について、開発を通じての課題や学びを聞きました。 Chiueh Yu Jiuan(Gwen) Product Manager 台湾出身のGwenです。台湾企業でのPM経験を経て、人々の生活にインパクトを与えるB2C領域での仕事に魅力を感じ2022年12月にPayPayに入社しました。日本屈指の決済アプリであるPayPayに携われることにワクワクしています。 今回のプロジェクト概要を教えてください Gwen: 今回実装したのは、PayPayアプリ上でユーザーが行った取引の履歴を、CSV形式で簡単にダウンロードできる機能です。履歴のダウンロードに対応することで、

                                                  Tech Talks vol.49 – The Development Story of the Transaction History Download Feature | PayPay Inside-Out
                                                • Firestoreのtransactionの使いどころと使い方

                                                  この記事は Firestoreのtransaction(以下、トランザクションと表記)の機能と、具体例を用いたJavaScriptのコードとセキュリティルールの書き方を紹介します。 対象読者 "トランザクション"という言葉になじみのない初心者向けの内容が中心です。 後半のトランザクション使用時のセキュリティルールの書き方は、中級者にも参考になるかと思います。 環境 firebase: 9.1.3 react: 17.0.2 Firestoreのトランザクションを構成する要素 Firestoreのトランザクションには大きく2つの要素が含まれています。 複数ドキュメントの一括書き込み ドキュメントのロック(排他制御) それぞれどのようなものか、みていきましょう。 複数ドキュメントの一括書き込み 複数ドキュメントの一括書き込みとは、複数のドキュメントを書き込むとき、すべてのドキュメントが書き込ま

                                                    Firestoreのtransactionの使いどころと使い方
                                                  • ​UTXO (Unspent Transaction Output) in Crypto Blockchains

                                                    Every blockchain uses different record-keeping methods. In this guide, we will understand the UTXO (Unspent Transaction Output) method that Bitcoin and some other cryptocurrency blockchain networks use. We will also see how it differs from traditional banking systems’ popular account/balance method. What is UTXO?UTXO, or Unspent Transaction Output, is a fundamental concept in cryptocurrency, parti

                                                      ​UTXO (Unspent Transaction Output) in Crypto Blockchains
                                                    • 【Go】go-arch-lintでtransaction境界を強制する

                                                      はじめに こんにちは、バックエンドエンジニアなかじです! goでクリーンアーキテクチャを採用しているプロダクトを開発しています。 その中で go-arch-lint を使ってレイヤー間の依存関係を制約し始めてから、約1年が経ちました。 とても効果があり、 依存関係の破壊を防げる 設計の意図がコードに残る レビューコストが下がる といった恩恵を受けています。 一方で、運用していく中で もう一段踏み込みたい課題が出てきました。 それが、「Transaction のインターフェースが、設計上は使われないはずの層からも呼べてしまう状態になっている」という問題です。 実際には、repositories層や (infra層) から呼ばれていたわけではないのですが、チーム内の暗黙ルールとして「transactionは、UseCase層 で張るもの」という認識はぼんやり共有していたので、呼ぼうと思えば呼べ

                                                        【Go】go-arch-lintでtransaction境界を強制する
                                                      • Transaction Isolation in Postgres, explained

                                                        Transactions are a key part to many modern databases, relational and non-relational systems alike. At a basic level, transactions allow us to treat a series of operations as a single unit. The reason transactions are so important is because they provide guarantees that developers can then use as assumptions when writing code. This means that there are entire set of concerns that you, the developer

                                                          Transaction Isolation in Postgres, explained
                                                        1

                                                        新着記事