DB

“設計がわからない”あなたへ!!ドメイン駆動設計・DDDの第一歩【設計・アーキテクチャ】

“設計がわからない”あなたへ!!ドメイン駆動設計・DDDの第一歩【設計・アーキテクチャ】

—— 設計に悩んでいるあなたへ ——

 「動くから、とりあえずOK」
 「サービスクラスが巨大になってきたけど、どう整理すればいいか分からない…」

 そんなモヤモヤを感じたことはありませんか?
 あなたは決して一人ではありません。多くのエンジニアが、**“なんとなくの設計”**で日々コードを書きながら、どこかで引っかかりを感じています。

 この記事で紹介するのは、その“引っかかり”に名前を与え、解きほぐしてくれる考え方――
それが、**ドメイン駆動設計(DDD: Domain-Driven Design)**です。

 難解な理論ではありません。むしろDDDは、コードに“業務の意味”を込めるという、とてもシンプルな発想です。設計が分からなくても大丈夫。この一歩から、一緒に始めてみましょう。

続きを読む

図で掴む!ロールフォワードとロールバックを用いたデータベースの障害回復手法【基本情報】

ロールフォワードとロールバックを用いたデータベースの障害回復手法

データベースの障害が発生したときに復旧する方法として,主にロールフォワードロールバックの2種類の手法がある.いずれも原子性(atomicity)を維持するために行われる.復旧にはフルバックアップファイル(データベースの全データをバックアップしたファイル)とログファイルを用いる.ログファイルにはデータベースの更新前と更新後の情報(ジャーナルファイルとも呼ぶ)を書き出す.

続きを読む

データベースのデータの整合性を保つトランザクション処理【基本情報】

データの整合性を保つトランザクション処理

トランザクションとは一連の処理をひとまとめにしたもので,DB(データベース)の更新には非常に重要な概念.例えば商品を注文して購入する場合以下のトランザクションが考えられる.

  1. トランザクション開始
  2. 利用者が商品を注文する
  3. 在庫を管理しているテーブルの街頭の商品の在庫を1減らす
  4. 購入者テーブルに購入者のIDを追加する
  5. トランザクション終了
続きを読む