タグ

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

  • Cloud Native時代のデータベース

    2021/6/11 #InfraStudy 2nd Season

    Cloud Native時代のデータベース
  • PayPayの1秒あたり1000決済への道のり

    パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

    PayPayの1秒あたり1000決済への道のり
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

    こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
  • Spring3.1概要 データアクセスとトランザクション処理

    5. デーアクセス層の役割 業務ロジックからデータアクセスの処理を隠ぺいする 永続化の仕組みが変わっても業務ロジックへの影響がない アプリケーションの肝である業務ロジックのメンテナンス性が上がる プレゼン テーション ビジネス ロジック データベース アクセス RDB ブラウザ 表示の仕組み 永続化の仕組み 業務の仕組み 6. データアクセスの処理が混在した業務ロジック (1/3) 業務ロジックとデータアクセスの処理が混在するとプログラムが複雑になる サンプルコード:ある口座から他の口座にお金を振り込む transfer メソッド 業務ロジック 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public void transfer(Account from, Account to, int furikomigaku)

    Spring3.1概要 データアクセスとトランザクション処理
  • MySQLのload dataで日付型にnullをセットする - 文系プログラマによるTIPSブログ

    皆大好きLOAD DATAについてのお話です〜 LOAD DATAコマンドはinsertと比較して10倍以上のパフォーマンスでデータを取り込む事ができます。しかし、いろいろ癖があるため、扱いにくい点があります。 題は日付型にnullをセットする事ですが、この際いろいろ見て行きたいと思います。 LOAD DATAでトランザクションは効くか LOAD DATAする時にデータの加工もできるか LOAD DATAでnull値を設定する方法その1 LOAD DATAでnull値を設定する方法その2 LOAD DATAでトランザクションは効くか ずばり効きます。 しかし5.1等の古いバージョンでは効きません。もし効かない場合、beginとcommitの間にALTER TABLE 等のDDLが挟まってないか確認して下さい。 DDLは暗黙commitが実行されるため、トランザクションは強制コミットされま

    MySQLのload dataで日付型にnullをセットする - 文系プログラマによるTIPSブログ
  • CakePHPで複数テーブルに対するトランザクションを使う場合 - takami_hiroki’s blog

    CakePHPでトランザクションを使用する必要があったのですが、一般的に用いられている方法だと、複数のテーブルを1つのトランザクションとして更新したい場合、コントローラ内での実装がとても分かりにくくなると感じ、異なる実装方法をとってみたので、ご紹介します。 一般的な実装方法とその課題 一般的な実装方法としては、app/models/app_model.phpに、下記のようなトランザクション管理用のメソッドを追加することが多いと思います。基的に、各モデルクラスは、AppModelクラスを継承しているため、これらのメソッドをどのモデルからも利用可能になります。 function begin() { $db = & ConnectionManager::getDataSource($this->useDbConfig); $db->begin($this); } function commit

    CakePHPで複数テーブルに対するトランザクションを使う場合 - takami_hiroki’s blog
  • Struts/同期トークンで二度押しなどをチェックする - きのさいと

    WEB開発で必ずついて回るのが、Submitボタン二度押しや戻るボタンを押されるなど、勝手な画面遷移をされないような配慮です。Strutsでは同期トークンという機能でこれらの考慮をサポートしてくれます。 実際にサンプルで、ある画面でSubmitを二度押ししたとき、それを検知して二つ目のリクエストをエラーではじくという事を考えてみます。 同期トークンとは † 同期トークンの機能とは以下の通りです。 あるアクションで、サーバ上でユニークなID(以下、トークン)を生成し、返却するhtmlにhidden等で仕込んでおく そのアクションで、トークンはSessionにも格納しておく 次のリクエストにはhidden内のトークンが飛んでくる 次のアクションで、hiddenパラメタ内のトークンとSessionのトークンが等しいことを確認する 等しければ、正しいリクエストということで処理する。Session

    asa_ca3
    asa_ca3 2011/08/18
    ちょっとまとめ
  • 悲観もあれば楽観もある「トランザクション」の常識

    悲観もあれば楽観もある「トランザクション」の常識:企業システムの常識をJBossで身につける(8)(1/4 ページ) 企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎! ありえない! 企業システムでの不完全なデータ 企業活動の日々の業務で発生するさまざまなデータ。それらを保存・利用するために、企業はITへの投資を行い、システムを構築しています。そうしたシステムにおいて、データを保存する際に防がなければならないのが不完全な状態での登録や更新です。 また、昨今のシステムでは保存先が複数存在するケースが多々あり、各保存先間での整合性を保証する必要があります。そこでシステム開発の際に重要となるのが、今

    悲観もあれば楽観もある「トランザクション」の常識
  • トランザクショントークン メモ(Hishidama's struts transaction token Memo)

    Strutsトランザクショントークン 画面遷移の順序性の確認や サブミットボタンの二度押し(重複サブミット)の防止チェックの為に、Strutsではトランザクショントークン(同期トークン)を使用する仕組みが用意されている。 トランザクショントークンの概要 トランザクショントークンの使用法 概要 トランザクショントークンは、以下のように実現される。 表示する画面の中にhiddenでランダムなID(トークン)を埋め込んでおき、そのトークンをサーバー側でもセッション内に保持しておく。 その画面でサブミットされると、hiddenに埋められていたトークンがリクエストに入れられてサーバーに届く。 サーバーでは、届いたhiddenのトークンとセッション内に保持していたトークンを比較する。一致していれば正しい遷移と判断する。 別の画面のhiddenには別のトークンが埋められている為、意図しない画面から来た場

  • 1