タグ

dbに関するteitei_tkのブックマーク (8)

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

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

    決済システムの残高管理周りの DB 設計と戦略 - カンムテックブログ
  • 本当にあったやらかしDB設計①【R無しRDB】 - Qiita

    どうも、IT業界は4年目だけど開発はあんまりやったことがなかった人です 独学でDBとアプリ周りを勉強して最近開発現場へと行くことになったのですが、僕でもわかるようなやばいような事がかなりゴロゴロあって唖然とする毎日です(運が良いのか悪いのか…) 今日はそんな中の一つを紹介したいと思います これには当にびっくりしました どういうことかというと、外部キーをひとつも使ってなかったのです 分析系DBなのかと思いきや調べたり聞いたりして確認したところがっつり処理系、しかもコアな部分…w データの不整合を許せない部分なのに外部キーを全く使っていないという、アンチパターンというか呆れパターンというか… 何が悪いの?? そう、まずはここから説明していきます 同じことを繰り返さないようにするための記事なので、ただバカにするだけだと意味ないですからね 1980年代~1990年代くらいに過激な生き残りをかけた

    本当にあったやらかしDB設計①【R無しRDB】 - Qiita
    teitei_tk
    teitei_tk 2020/08/10
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
  • もう止まらない。Amazon RDS Multi-AZ Deployments機能をリリース

    日、Amazon RDSの新機能、 Multi-AZ Deploymentsがリリースされました。 Release: Amazon Relational Database Service on 2010-05-17 これにより、RDSのダウンタイムがほぼ0になるという素敵な機能です! Multi-AZ deploymentを有効にするとプライマリDBとは別のAvailability Zoneにホットスタンバイとしてレプリカが作成されます。 レプリカはプライマリDBと同期していて、プライマリDBが止まると自動的にレプリカにスイッチします。 フェイルオーバーの仕組みはシンプルで、CNAMEレコードを変更し、スタンバイDBに向けるだけです。 スタンバイDBに切りかわるタイミングは以下のとおりです。 Availabilyty Zoneが落ちた時 プライマリDBが落ちた時 DBのスケールを変更した

  • 「達人が語る こんなデータベース設計はヤダ!」へ参加してきました - 虎塚

    あの『達人に学ぶDB設計 徹底指南書』を書かれたミックさんが講演されると聞いて、Club DB2さんの勉強会に初めてお邪魔してきました。 「第146回 達人が語る こんなデータベース設計はヤダ!」 https://www.ibm.com/developerworks/wikis/display/clubdb2/146 非常に面白く、勉強になりました。せっかくなので、備忘メモをupしておきます。 (内容に誤りがあったり、もし掲載自体に問題があったりしましたら、修正・削除しますのでお知らせください。>関係各位) 編 (追記)発表資料にリンクしました。 http://d.hatena.ne.jp/mickmack/20120714/1342246442 ミックさんが「これだけは覚えて帰ってください」とおっしゃった3つのポイントを引用します。 トレードオフ うまい話には裏がある。 物理 vs 論

    「達人が語る こんなデータベース設計はヤダ!」へ参加してきました - 虎塚
  • データベースリファクタリングに挑戦してみた。(トリガーを使わないで列名を変更する) · DQNEO日記

    下記で紹介しているのはあくまで一例です。(特に、SELECT * に関しては賛否両論あると思います。) 他にもっとよいやり方があったら教えてください! トリガーを使わない列名変更の流れ 例として、「user.meiというカラムをuser.firstnameというカラムに変更する」ケースをとりあげます。 アプリ側での事前改修 新しいDB列の追加(移行期間の始まり) アプリ側での切り替え 古いDB列の削除(移行期間の終わり) アプリ側での後片づけ アプリ側での事前改修 事前にアプリを改修して、新旧両方対応の仕組みをいれておきましょう。 このフェーズの目標は、DB列が追加されたときにアプリが自動で追従できるようになることです。 SELECT * FROM を使う アプリケーション内のSQLで、SELECT a,b,c FROM という風に列名をハードコーディングしていると、カラム名変更したいとき

    データベースリファクタリングに挑戦してみた。(トリガーを使わないで列名を変更する) · DQNEO日記
  • BKCon 2006 - にぽたん研究所

    昨日は BKCon 2006 に行ってきた。 BK というのは「一般的にはバッドノウハウの事」なんですが、昨日のは、BKCon と言っても、かつて開催された Bad Knowhow Conference 2004 の続編とかではなく、"B"atara "K"esuma "Con"ference 2006 です。 ※正しくは横浜 Linux ユーザグループ主催の「第 65 回カーネル読書会」のテーマ "mixi.jp: Scaling Out With Open Source" です。 ちなみに、Batara Kesuma さんというのは、株式会社ミクシィの取締役。 mixi の裏側を見せますというか、ちょっと hip な言いかたをすれば "Inside mixi's backend" ってカンジです。 とりあえず、プレゼン内容は YAPC::Asia の時と大凡同じでしたが、プレゼンの持ち

    BKCon 2006 - にぽたん研究所
  • 漢(オトコ)のコンピュータ道

    ※この記事はMySQL Advent Calendar 2023の4日目です。 MySQL 8.0シリーズでは正式版になってから多数の新機能が追加されるというリリースモデルであった。正式版になってから追加された新機能の中に、GIPK(Generated Invisible Primary Key)というものがある。これはなんとMySQL 8.0.30で追加された機能だ。MySQL 8.0が正式版になってから、なんと4年と3ヶ月後のことである。そんな感じでMySQL 8.0の新機能は正式リリース後にも増え続け、途方もない規模になっている。このブログでは一度に紹介するのは諦め、少しずつ気の向いたものから紹介していこうと思う。今回はその第一弾として、GIPKについて解説しよう。

    漢(オトコ)のコンピュータ道
  • 1