タグ

データベースに関するNobiNobiKotaのブックマーク (5)

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

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

    決済システムの残高管理周りの DB 設計と戦略 - カンムテックブログ
  • 2フェーズコミットとは - IT用語辞典

    概要 2フェーズコミット(2-phase commit)とは、複数の独立したシステムが参加する分散トランザクションにおいて、処理の整合性が保たれるよう2段階に分けてコミットを行う手法。 トランザクション処理では、振り込みにおける出金と入金のように一体不可分な連続した処理を、すべて成功かすべて失敗(途中の処理が失敗したら実行済みの処理を取り消して開始前の状態に戻す)のどちらかに制御する。 分散トランザクションでは複数の独立した処理主体が一連の処理を分担して実行するため、通常のコミット処理によって結果を確定させることができない。このような場合に、準備と確定の2段階に分けてコミットを実施する方式を2フェーズコミットという。 トランザクションの制御を司るコーディネータはまず、処理を実行して結果を返すよう参加者に通知する。各参加者はトランザクションを構成する処理を実行し、成功したら「コミット可能」の

    2フェーズコミットとは - IT用語辞典
  • システムの寿命はコードで決まる!(1/3) ― @IT

    コードはシステムの寿命に大きな影響を与えます。今回は、コードとデータベースエンジニアの関係を通してこのことを解説します。ここでいうコードとは、顧客ID、受注伝票番号など、業務上利用されるデータを識別・分類するため、各データの来の名前とは別に割り当てられる記号のことです。 データベースエンジニアにはデータ設計とデータベース設計の2つの役割があります。そして、データベースエンジニアにはデータ設計の一環として安定したコード体系を設計し、データベースをコード体系に依存しないように設計することが求められます。 システムを長く使い続けるためには、 コード体系を長期にわたり変更せず利用できるようにすること コード体系とデータベース設計との結合度を小さくすること が重要です。なぜなら、コードのけたが足りなくなったり、コードの分類が業務にそぐわなくなったりして、コード体系の見直しを行うことになると、業務・

    システムの寿命はコードで決まる!(1/3) ― @IT
  • 真のデータベースエンジニアを目指そう!(1/3) ― @IT

    連載は、ITシステム開発の現場でプログラミングやSQLのコーディングを行っているエンジニア(データベース利用者)が、データ管理者(DA)やデータベース管理者(DBA)へステップアップするための第一歩として有効な基礎知識を紹介する(編集局) はじめに 連載は、データベースを利用したアプリケーション開発にプログラマとして携わっている読者を対象として、データベースの利用者から設計者へとステップアップするために、いまから身に付けておきたい必須知識を解説していきます。いまはまだ「データベースエンジニア」が何であるか、どんな仕事をするのかがよく分からないといった方にも、連載を通じて少しでもこの職種に興味を持っていただければ幸いです。 第1回は、「データベースエンジニアの役割、およびデータベースエンジニアに必要とされるスキル」について解説します。 データベースエンジニアとは? データベースエンジニ

    真のデータベースエンジニアを目指そう!(1/3) ― @IT
  • CodeZine:楽々ERDレッスン 第2回:「図書館の予約申込書」編

    はじめに おかげさまで、前回の記事は多くの方々からご好評をいただけたようでほっとしております。あちこちのブログなどを拝見していますと、記事をきっかけにして身近な例でERDを書いてみた方も見受けられます。今回も身近な題材でデータベース設計というものを考えていきたいと思います。 合言葉は、「量は質に転化する」。では、今回も張り切って行きましょう。 対象読者 データベース設計の初心者~中級者。 必要な環境 以下のいずれかのRDBMS。 PostgreSQL 8.0以上 MySQL 4.0以上 HSQLDB 1.7.2以上 MaxDB 7.5以上 Oracle 10g以上 SQL Server 2000以上 題材 今回の題材は、近所の図書館にあった書籍の予約用紙(図1)です。子供たちとを借りに行った際にカウンターに置いてあったので早速利用することにしました。では、デー

  • 1