UNISIA-SE Tech Blog

気まぐれお勉強日記

[応用情報技術] [基礎] [21] 覚書き : データベース(応用)

1. 前提条件


このページでは、応用情報技術者試験の出題分野である データベースの応用 に関する覚書きを列挙する。

一度内容を理解したことを前提とし、最低限の解説に留めていることに注意。

2. データウェアハウスとOLAP


前ページのトランザクション処理は。OLTP(Online Transaction Processing) といい、オンラインが前提となる。

OLTPは、リアルタイムのデータ管理に適しているが、複雑で分析的な問い合わせに向いておらず、利用者の動向など統計的なデータ分析が難しい。
そのため、以下に示す データウェアハウス を用いた OLAP という分析手段が考えられた。

データウェアハウス
経営的な意思決定を目的とした分析のために、業務データを 多次元データ として長期的に蓄積し、管理する仕組みを指す。

業務データの大別単位で書式、表記を統一したデータを時系列に分けてその時点のデータを保存するため、あらゆる条件のデータをスムーズに取り出すことができる。
※ データウェアハウスの構成や操作については、次項を参照。

OLAP (Online Analytical Processing)
OLAPとは、RDB(関係型データベース、リレーショナルデータ)などの OLTPデータをスナップショットとして取り、別のデータベースに移行させ、分析用として 多次元データ として再構成することで様々な角度(分析軸)から視覚的に分析を行う処理や操作のことを指す。

3. データウェアハウスの構成と基本操作


データウェアハウスにおいて、実際の分析対象となる期間別の大量データ(ファクトデータ)を記録したテーブルを ファクトテーブル といい、データウェアハウスに一つ以上存在する。
※ 複数のデータベースから統合する場合は、事前に データクレンジング を行い、データ形式やコード体系を統一する。

また、ファクトテーブル と一対多の関係で紐付き、それぞれの分析軸(分析観点)を持つテーブルを ディメンションテーブル といい、E-R図で表すと中心にくる ファクトテーブル の周りを ディメンションテーブル が囲む形になることから、このデータ構成は、スタースキーマ と呼ばれる。

以下は、データウェアハウスの基本操作。

スライシング
多次元データを断面的に切取り、2次元の表にする操作。

ダイシング
データの分析軸を変更し、視点を変更する操作。

ドリリング
以下の方法で分析・集計結果をさらに分析または、集計する操作。
ドリルダウン(または、ロールダウン)
例えば、年月単位の分析結果を日単位の詳細データに分ける。
ドリルアップ(または、ロールアップ)
例えば、年月単位の分析結果を年単位のデータに集計する。

4. 分散データベース


分散データベース とは、データベース障害耐性や通信負荷の軽減、パフォーマンス向上を目的に複数のサーバーを立て、DBMS(データベース管理システム)を分散配置したデータベースで、利用者に データ分散 を意識させない 透過性 の仕組みを持つデータベースシステムを指す。
透過性 を満たすためには、分散したデータベース間で同期をとり、一斉にデータを更新する 2相コミット の仕組みが必須となる。

分散データベース は、DBMS(データベース管理システム)を並行稼働させるため、下記 特性1特性33つの特性 を同時に保証することができない。

また、同時に保証できるのは、下記 成立パターン1成立パターン3 の場合の2つの組み合わせのみとなり、この理論を CAP定理(または、ブリュワーの定理) という。

特性1:[C]一貫性 (Consistency)
全てのノードで同じデータが参照できること。

特性2:[A]可用性 (Availability)
一部のノードで障害が発生しても生存ノードが必ず応答でき、常時最新データにアクセスできる状態であること。

特性3:[P]ネットワーク分断耐性 (Partition-tolerance)
ネットワークの分断によって、2つ以上のノード群が互いに通信できない状態になっても正常に動作すること。

成立パターン1:[C]一貫性と[A]可用性の場合
トランザクション管理で整合性を保つには、ノード間で通信する必要があるため、全てのノードで常時通信し、最新データに更新する必要がある。
この時、ネットワーク分断が起きた時点で通信できない状態に陥り、[C]一貫性[A]可用性 が破綻するため、[P]ネットワーク分断耐性 を同時保証できない。

成立パターン2:[C]一貫性と[P]ネットワーク分断耐性の場合
ネットワーク分断が発生した場合、[P]ネットワーク分断耐性 により、分断復旧中となった際、[C]一貫性 を保証するため、分断復旧が完了するまで、最新データにアクセスできない状態となり、[A]可用性 が保証できない。

成立パターン3:[A]可用性と[P]ネットワーク分断耐性の場合
ネットワーク分断があったとしても、最新データでサービスの継続が可能だが、分断されたサーバーのデータベースは、最新である保障がないため、[C]一貫性 が保証できない。

5. ビッグデータ


ビッグデータ とは、DBMS(データベース管理システム)で取り扱うことが困難なデータ群や従来の技術による処理量を超えた大量のデータ群を指し、画像、音声、ログ、位置情報などの非構造化データや定型的でないデータも含まれる。

このデータはすべて データレイク と呼ばれる ビッグデータ を加工前のまま多様な形式(構造化データ、半構造化データ、非構造化データ)で保持できる中央ストレージリポジトリに保存される。

ビッグデータを取り扱うために必要な代表的な技術として、以下の仕組みがある。

グリッドコンピューティング
分散コンピューティング(distributed computing) とも呼ばれ、大量データの分析など大きなタスクを実行するためにネットワーク上の複数コンピューターを連結し、仮想的なスーパーコンピューターとして共同動作するコンピューターシステムを指す。

データマイニング
大量データを統計学やパターン認識、人工知能などの分析手法を駆使して、パターンや相関、異常値などの新しい知見を得るための技術、またはそのプロセスを指す。

超並列コンピュータ
安価なマイクロプロセッサーを数千~数万台結合させて、並列処理にすることで高速化を図ったコンピューターを指し、スーパーコンピューター並みの演算速度を持つ。

NoSQL (Not Only SQL)
RDBMS(リレーショナルデータベース管理システム)以外のDBMS(データベース管理システム)を指し、非RDBMS であることを指すおおまかな分類語で、非RDBMS の利用、発展を促進する運動標語の意味合いも持つ。

以上。


【参考文献】
瀬戸 美月 (2020) 『徹底攻略 応用情報技術者教科書』株式会社インプレス


Copyright UNISIA-SE All Rights Reserved.
s-hama@unisia-se.jp