データベース

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

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

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

続きを読む

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

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

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

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

事故リスクを抑えるためのサーバーとロードバランサとデータベースのシステム構成【基本情報】

事故リスクを抑えるためのシステム構成

停止してしまうと社会的な影響が大きかったり,深刻なダメージを及ぼしてしまうシステムのことをミッションクリティカルなシステムと呼ぶ.航空システム,発電システム,銀行や為替の売買システム,LINE等のスマホアプリ,paypay等の決算システムが当てはまる.

システムによって冗長構成を組んだり,不可分散を行うなどして事故を回避する.基軸となるシステムがダウンした場合でも,別ルートでシステムの継続を行えるようにする必要がある.

続きを読む

ブラウザからmongoDBのデータベースにデータを追加・表示する(Express Node.js)

前回の記事では「mongoose」を使ってデータベースからデータを取得し、ブラウザに表示させましたが、今回はnpm の方で MongoDB が公式で出しているモジュールがあったのでそちらを使用します。

今回は接続から、取得、表示、追加の順に解説します。「/form」のフォームから追加するデータを入力し、「/page_a」で追加したデータの一覧を表示させます。完成イメージは以下の通りです。

続きを読む

Express(Node.js)でMongoDBからデータを取得し、表示させる

前回の記事ではMongoDBのデータベースに接続するところまで作成しました。この記事では実際にデータベースから値を引き出し、ブラウザ上に表示させていきます。データベースにはフォームで値を保存できるようにしたいのですが、今回はデータを直接データベースに格納し、取り出すところをメインとします。ではみていきましょう。

続きを読む

Express(Node.js)でMongoDBと接続する

今回は「Express」から「MongoDB」に接続してみたいと思います。MongoD BはMySQLなどのRDBMS(Relational Database Management System)とは違い「NoSQL」と呼ばれるデータベースとなります。

「RDMS」はデータ構造をあらかじめ設定しなければいけないのに対し、「NoSQL」はデータ構造を決めておかなくても良いという特徴があります。また「NoSQL」はSQL言語を必要としないデータベースです。

続きを読む