図解!目的別に使い分けるNoSQLの分類【基本情報】

目的別に使い分けるNoSQLの分類

NoSQL(Not Only SQL)とはSQLを使わないで操作するデータベース全般のこと指す.データベースの構造が容易に変更でき,データの増加に柔軟に対応できる.しかしデータの正規化や表同士の結合,集計や検索は不時としているため,目的別に使い分ける必要がある.

続きを読む

nullチェック不要!Objects.equalsで比較をしよう【Java】

Objects.equalsで比較をしよう

文字列やObjectを比較するのにStringクラスのequalsメソッドを用いて比較する場合がある.このメソッドはjava.lang.NullPointerExceptionの危険性がある.このメソッドを使用してObject同士を比較するとき,比較前のObjectがnullの場合にExceptionが発生する.このExceptionを防ぐためにObjects.equalsで比較することでnullチェックを同時に行い,nullの場合でも比較することができる.

続きを読む

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

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

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

続きを読む

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

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

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

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