記事へのコメント57

    • 注目コメント
    • 新着コメント
    W53SA
    スナップショットテーブルの話を見て通帳の一括記帳を連想した

    その他
    nekoruri
    結局時系列データをきちんと管理したければ信頼できるイベントストアに基づくイベントソーシングが大正義ってことだなあ

    その他
    makky55makky55
    あとで読み直そう。

    その他
    kanu-orz
    その昔、在庫管理で似たようなことを考えたことがあった。今ならどう設計するだろう…

    その他
    tmatsuu
    わいわい。スナップショットはcreated_atがrangeになるからもしかしたら遅くなりそう。悩ましいところだ。自分が実装するなら年単位でテーブル分けるとかだな。

    その他
    motchang
    有高計算するのに全明細舐めるハメにならんか?報告系は別かね?

    その他
    ouest
    こういう設計もあるんだよってこと。これにプラスアルファするかな。

    その他
    kazuhooku
    マテリアライズドビュー使うとか、そういうトリガー書くわけにはいかんにゃろか

    その他
    t_f_m
    あとで

    その他
    tumo300-500
    `スナップショット方式` で時間で絞ってるのがややナイーブにみえる。まぁこれやるときはメンテ入れるから OK ってことかな

    その他
    Ehren
    要件に依存するよねん

    その他
    ntstn
    こういうところは大手のしっかりしたシステムを使おうと思いました。実装はじぶんのとこでしない。

    その他
    sin20xx
    sin20xx この手のサービスを実際に開発運用してみると分かるよ。残高という値を保持するリスクは並列処理のリスクも含めバグの温床になる。同一アカウントの並列処理自体は古の技で安全に処理できるので問題にはならないのよ

    2021/06/30 リンク

    その他
    NOV1975
    残高をトランザクションで積む=過去データすべて必要ってならんの?てか、トランザクションデータの中に取引後残高もっておけばよくね?(取消でレコード削除せんのであればそれでよいよね)。

    その他
    frkw2004
    残高見るのにビューを用意してたりするのかな?マテリアライズドビューで作っておけばよさそう。

    その他
    equilibrista
    あとで読む

    その他
    hitotakuchan
    排他制御をどうやってるのか不明。それがちゃんとできてないならバグってる。すべてのテーブルをロックして transaction の分離レベルを適切に設定すれば大丈夫なのかな?

    その他
    hope_ring
    すばらしい知見の共有ありがとうございます。DBサイズが巨大化したときの案がちゃんとあるのが良い。自分が触ったことあるのはこの巨大化したときの形式だった

    その他
    kenzy_n
    固いところのDB設計

    その他
    gothedistance
    面白いこれ...

    その他
    suginoy
    ファウラーのAccountパターンだと暗に言ってるな。

    その他
    reiki4040
    ABとかLBはないけど、自分も入金と出金の記録だけで残高管理するのを同じような設計してて、スケールの対処案まで同様の思考を辿ってるのが面白い

    その他
    aa_R_waiwai
    id:onesplat 履歴テーブルから算出できるなら、それが安全だと思う。正規化の問題。部門テーブルがあるのに、usersに部門IDではなく部門名を持たせるのは無意味。もちろん、目的があるなら全否定される設計でもないが。

    その他
    morimarii
    残高的なものは設けないのが正統派な気がするけど状況によっては設けなきゃいけない場面もあるので難易度高いと思う

    その他
    hirorinya
    学び

    その他
    letitride
    取引履歴を残すのは当然の設計として、sumした結果が負数を許容できるか否かかな。許容できない場合、どのリソースでロックを取るか考える必要がある。残高不足はアップデート失敗させるのが楽だったりはする。

    その他
    ronnytan
    同時に複数のオーソリが発生した場合、決済金額が残高を超えないかのチェックを、どのように実施しているのか知りたい。

    その他
    spark7
    立ち位置のよく分からんバンドルカードか

    その他
    lorenz_sys
    自分がWMSの入出庫~在庫に関する設計をした時の考え方・検証方法にほぼ同じ。物流系もミッションクリティカルなので全取引履歴を保持する必要があるがスナップショットがないと実用にならないので併用方式とした。

    その他
    toritori0318
    なるほど。たしかにカード単位の残高管理ならある程度がんばれそう

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    決済システムの残高管理周りの DB 設計と戦略 - カンム テックブログ

    エンジニアの佐野です。今日はカンムの決済システムでユーザの残高管理をどうやっているかについて書き...

    ブックマークしたユーザー

    • inari1112025/03/18 inari111
    • W53SA2024/01/10 W53SA
    • socials2023/07/21 socials
    • yuhei_kagaya2023/06/06 yuhei_kagaya
    • techtech05212023/04/27 techtech0521
    • cateiru2023/03/14 cateiru
    • cou9292023/01/07 cou929
    • spinningplates2022/12/03 spinningplates
    • nekoruri2022/12/01 nekoruri
    • ryousanngata2022/11/30 ryousanngata
    • knj29182022/11/05 knj2918
    • rochefort2022/10/25 rochefort
    • naoty_k2022/08/16 naoty_k
    • ihara25252022/07/14 ihara2525
    • mominis2022/07/01 mominis
    • manaten2022/02/15 manaten
    • shuymn2021/11/05 shuymn
    • serihiro2021/10/25 serihiro
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む