ブックマーク / tech.kanmu.co.jp (4)

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

    エンジニアの佐野です。今日はカンムの決済システムでユーザの残高管理をどうやっているかについて書きます。 カンムの製品であるバンドルカードはプリペイド方式のカードです。ユーザによる入金、店舗での利用、運営事由の操作などによりユーザの残高が増減します。このような残高の管理について単純に考えると user_id と balance と updated_at あたりをもったテーブルを用意して balance と updated_at を更新していく方法があるかもしれません。しかしながらカンムでは残高を管理するテーブルを持たず、これらイベントの履歴のみで残高を管理しています。以下、記事ではこれらユーザの残高が増減するイベントのことをトランザクションと呼びます。ここでは DB の Transaction Processing を意味しません。 記事のポイントは 残高を管理をするテーブルは作らず、ト

    決済システムの残高管理周りの DB 設計と戦略 - カンムテックブログ
    l08084
    l08084 2021/06/29
  • 時点tにおける連続で結果xが出た回数(結果yが出たら回数はリセットされる)を出すSQLを書いた - カンムテックブログ

    カンムでCOOをしています、achikuです。 ニッチすぎて誰に話しても「?」となるが、とにかく理解できて嬉しかったSQLの話をする。 誰かにこの感動を伝えたいのでコーヒーカップに向かってクエリの説明している— _achiku (@_achiku) February 21, 2021 話しを簡単にする為にコイントスを用いた例題で説明する。 問題 複数回のコイントスの結果(試行ID、裏が出たか表が出たか、トスした時間)を記録したデータがある。このデータを用いて試行回数t回目において何回連続で表が出たかを出力したい。なお、一度裏が出たら連続で表が出た回数は0にリセットされる。 問題を表で表現する 最終形からイメージすると、大体以下のような事がしたい。試行回数t回目において連続でhead=trueである回数を出す。とにかく時系列に並べた際に時点tにおける連続表が出た回数が欲しい。 consecu

    時点tにおける連続で結果xが出た回数(結果yが出たら回数はリセットされる)を出すSQLを書いた - カンムテックブログ
    l08084
    l08084 2021/06/23
  • カンムにおけるインフラの考え方をまとめた「インフラマニフェスト」のご紹介 - カンムテックブログ

    カンムでバンドルカードのバックエンドやインフラを担当している summerwind です。 バンドルカードではスマホ上で Visa のプリペイドカードを発行して決済に使える機能を提供しており、クレジットカード情報を扱っていることから、インフラの観点では高いセキュリティを維持することが重要になっています。バンドルカードのシステムは API や国際カードブランドと接続している決済システムなどの複数のコンポーネントで構成されていますが、システムが構築された時期によって構成や設定の方針などが異なるため、より高いセキュリティを達成するためにシステム構成の変更や整理、設定の見直しを日々進めています。 構成や設定の見直しを進めていく中で、全体的な方針や目指している姿を言語化しておいた方が周囲のエンジニアにも理解が得られやすいのではないかと感じたため、インフラに対する考え方や方針を言語化した「インフラマニ

    カンムにおけるインフラの考え方をまとめた「インフラマニフェスト」のご紹介 - カンムテックブログ
    l08084
    l08084 2021/06/18
  • カンムを支える技術 ~機械学習編~ - カンムテックブログ

    バックエンドエンジニアの吉田です。カンムでは機械学習を用いた機能開発を担当しています。 バンドルカードでは後払い機能であるポチっとチャージで機械学習が使われています。 去年のAdvent Calendarで石澤さんが カンムを支える技術2020 という記事を書いてくれていましたがそこではあまり触れられていなかった機械学習まわりの取り組みについて簡単にご紹介します。 バンドルカードのサービスはAWSで構築されているので基的にはAWSに寄せつつも機械学習ではGCPも活用しマルチクラウドで運用しています。 Data Preparation DWHとしてBigQueryを利用しています。BigQueryにはバンドルカードのトランザクションデータやFirebaseで取得したアプリのイベントログ、サーバのアプリケーションログ等が集約されておりデータ分析やA/Bテストの集計、障害調査等に使われています

    カンムを支える技術 ~機械学習編~ - カンムテックブログ
    l08084
    l08084 2021/06/11
  • 1