データのモデル化
黒と青の背景
データのモデル化

企業の情報システムにおけるデータ・フローの性質を表現し、理解を深めるために、データ・モデリングがどのように抽象化を用いているかをご紹介します


データ・モデリングとは?

データ・モデリングとは、情報システム全体またはその一部を視覚的に表現し、データ・ポイントや構造間のつながりを伝えるプロセスです。 その目的は、システム内で使用され保存されているデータの種類、これらのデータの種類間の関係、データをグループ化し整理する方法、そのフォーマットや属性を説明することです。

データ・モデルは、ビジネスニーズに基づいて構築されます。 ルールや要件は、ビジネスのステークホルダーからのフィードバックによって前もって定義され、新しいシステムの設計に組み込まれたり、既存のシステムの反復作業の中で適応されたりします。

データは様々な抽象度でモデル化することができます。 このプロセスは、ステークホルダーやエンド・ユーザーからビジネス要件に関する情報を収集することから始まります。 そして、このビジネス・ルールをデータ構造に変換し、具体的なデータベースの設計を行います。 データ・モデルは、ロードマップや建築家の設計図など、設計内容をより深く理解するための正式な図に例えることができます。

データ・モデリングには、標準化されたスキーマとフォーマルな技術が用いられます。 これにより、組織全体、あるいは組織を超えてデータ・リソースを定義し、管理するための共通の、一貫性のある、予測可能な方法が提供されます。

データ・モデルは、ビジネス・ニーズの変化に合わせて進化する生きたドキュメントであることが理想です。 ビジネス・プロセスをサポートし、ITアーキテクチャーや戦略を計画する上で重要な役割を果たしています。 データ・モデルは、ベンダー、パートナー、業界の同業者と共有することができます。


データ・モデルの種類

他の設計プロセスと同様に、データベースや情報システムの設計は、抽象度の高いレベルから始まり、次第に具体的で明確になっていきます。 データ・モデルは一般的に3つのカテゴリーに分けられ、その抽象度によって異なります。 このプロセスは、概念モデルから始まり、論理モデルへと進み、最後に物理モデルで締めくくります。 それぞれのデータ・モデルについて、以下に詳しく説明します。

  • 概念的なデータ・モデル。 これはドメイン・モデルとも呼ばれ、システムに何が含まれているか、どのように構成されているか、どのようなビジネス・ルールが関係しているかなど、全体像を示すものです。 概念モデルは通常、プロジェクトの初期要件を収集するプロセスの一環として作成されます。 一般的には、エンティティークラス(ビジネスにとってデータ・モデルで表現することが重要なものの種類を定義する)、その特性と制約、それらの間の関係、関連するセキュリティーとデータ保全性の要件などが含まれます。 どのような表記でも、典型的にはシンプルなものです。

     

  • 論理データ・モデル。 これらは抽象度が低く、対象となるドメインの概念や関係性についてより詳細に説明しています。 いくつかの正式なデータ・モデリング表記法のうちの1つに従います。 データ・タイプとそれに対応する長さなどのデータ属性を示し、エンティティー間の関係を示します。 論理データモデルには、技術的なシステム要件は一切規定されていません。 この段階は、アジャイルや DevOps プラクティスでは省略されることが多い。 論理的なデータ・モデルは、手続きの多い実装環境や、 データ・ウェアハウス の設計やレポート・システムの開発など、もともとデータ指向のプロジェクトに有効です。

     

  • 物理データ・モデル。 データがどのようにデータベースに物理的に格納されるかを示すスキーマを 提供します。 そのため、最も抽象度が低いと言えます。 これは、エンティティー間の関係を示す連想テーブルや、それらの関係を維持するために使用される主キーと外部キーを含む、 リレーショナル・データベースとして実装できる最終的なデザインを提供します。 物理データ・モデルには、パフォーマンス・チューニングなど、データベース管理システム(DBMS)固有のプロパティを含めることができます。

データ・モデリング・プロセス

データ・モデリングでは、データの処理や保存方法を詳細に評価することが求められます。 データ・モデリングの技術には、データを表現するためにどのシンボルを使用するか、モデルをどのようにレイアウトするか、ビジネス要件をどのように伝えるかなど、さまざまな規約があります。 すべてのアプローチは、反復的に実行される一連のタスクを含む、形式化されたワークフローを提供します。 それらのワークフローは概ね次のようなものです。

  1. エンティティーを特定する。 データ・モデリングのプロセスは、モデリングの対象となるデータ・セットに表現されている物事、イベント、コンセプトを特定することから始まります。 各エンティティーはまとまりがあり、他のすべてのエンティティーから論理的に分離している必要があります。
  2. 各エンティティーの主要なプロパティーを識別する。 各エンティティー・タイプは、属性と呼ばれる1つまたは複数の固有のプロパティーを持っているため、他のすべてのエンティティー・タイプと区別することができます。 例えば、「お客様」と呼ばれるエンティティーには、名字、名前、電話番号、敬称などの属性があり、「アドレス」と呼ばれるエンティティーには、通りの名前と番号、都市名、州名、国名、郵便番号などがあります。
  3. エンティティー間の関係を特定する。 データ・モデルの最も初期のドラフトでは、各エンティティーが他のエンティティーと持っている関係の性質を指定します。 上記の例では、お客様はそれぞれのアドレスに「住んでいる」ことになります。 このモデルを「注文」というエンティティーに拡張した場合、各注文の出荷先や請求先もアドレスになります。 これらの関係は通常、UML(Unified Modeling Language)によって文書化されます。
  4. 属性をエンティティーに完全にマップします。 これにより、ビジネスがどのようにデータを使用するかをモデルに反映させることができます。 いくつかのフォーマルなデータ・モデリング・パターンが広く使われています。 オブジェクト指向の開発者は分析パターンやデザイン・パターンを適用することが多いですが、他のビジネス・ドメインの関係者は他のパターンを利用することもあります。
  5. 必要に応じてキーを割り当て、冗長性を減らす必要性とパフォーマンス要件のバランスを考慮して正規化の度合いを決定します。 正規化とは、データ・モデル(およびデータ・モデルが表現するデータベース)を整理するための技術で、データを繰り返すことなくデータ間の関係を表現するために、キーと呼ばれる数値識別子をデータのグループに割り当てます。 例えば、お客様にキーを割り当てておけば、そのキーとお客様のアドレスや注文履歴を結びつけることができ、お客様名のテーブルにその情報を繰り返す必要はありません。 正規化することで、データベースが必要とするストレージの容量を減らすことができますが、クエリのパフォーマンスが低下する可能性があります。
  6. データモデルの最終確認と検証。 データ・モデリングは、ビジネス・ニーズの変化に応じて繰り返し行われ、改良されていくべき反復的なプロセスです。

データ・モデルの種類

データ・モデリングは、データベース管理システムとともに進化してきましたが、企業のデータ保存ニーズの高まりとともに、モデルの種類も複雑化してきました。 ここではいくつかのモデルタイプを紹介します。

  • 階層型データモデル は、一対多の関係をツリー状に表現したものです。 このタイプのモデルでは、各レコードは1つのルートまたは親を持ち、それが1つまたは複数の子テーブルにマッピングされます。 このモデルは、1966年に発売されたIBMの情報管理システム(IMS)に搭載され、銀行を中心に急速に普及しました。 この方法は、最近開発されたデータベース・モデルに比べて効率が悪いものの、拡張可能なマークアップ言語(XML)システムや地理情報システム(GIS)などで採用されています。
  • リレーショナル・データ・モデル は、1970年にIBMの研究者であるE.F.コッドが提唱したものです。 これは現在でも、エンタープライズ・コンピューティングで一般的に使用されているさまざまなリレーショナル・データベースに実装されています。 リレーショナル・データ・モデリングでは、使用するデータ・ストレージの物理的特性を詳しく理解する必要はありません。 その中で、データ・セグメントはテーブルを使って明示的に結合され、データベースの複雑さを軽減します。

リレーショナル・データベースでは、データの管理に構造化照会言語(SQL)が多用されている。 これらのデータベースは、データの整合性を保ち、冗長性を最小限に抑えるのに適しています。 POSシステムやその他のトランザクション処理によく使用されています。

  • 実体関連(ER)データ・モデル は、形式的な図を用いてデータベース内のエンティティー間の関係を表現します。 データ・アーキテクトは、データベースの設計目的を伝えるビジュアル・マップを作成するために、いくつかのERモデリング・ツールを使用します。
  • オブジェクト指向データ・モデル は、オブジェクト指向プログラミングとして支持され、1990年代半ばに普及しました。 対象となる「オブジェクト」は、現実世界の実体を抽象化したものです。 オブジェクトは、クラス階層でグループ化され、関連する機能を持っています。 オブジェクト指向データベースは、テーブルを組み込むことができますが、より複雑なデータ関係をサポートすることもできます。 この手法は、マルチメディアやハイパーテキストのデータベースなどに採用されています。
  • 次元データ・モデル は、ラルフ・キンボール氏によって開発されたもので、 データ・ウェアハウスにおける分析目的でのデータ検索速度を最適化するために設計されたものです。 リレーショナル・モデルやERモデルが効率的な保存を重視しているのに対し、次元モデルは報告や検索のために情報を見つけやすくするために冗長性を高めています。 このモデリングは、通常、 OLAP システム全体で使用されます。

一般的な次元データ・モデルとしては、データをファクト(測定可能な項目)とディメンション(参照情報)に分けて整理するスター・スキーマがあり、各ファクトは関連するディメンションに囲まれて星のようになっています。 もう1つは雪片スキーマで、これはスター・スキーマに似ていますが、関連する次元の層が追加され、分岐パターンがより複雑になります。


データ・モデリングの利点

データ・モデリングは、開発者、データ・アーキテクト、ビジネス・アナリストなどの関係者が、データベースやデータ・ウェアハウス内のデータ間の関係を見て理解することを容易にします。 さらに、それが可能です。

  • ソフトウェアやデータベース開発におけるエラー削減。
  • 企業全体のドキュメントやシステム設計の一貫性を高める。
  • アプリケーションとデータベースのパフォーマンス向上。
  • 組織全体でのデータ・マッピングを容易にする。
  • 開発者とビジネス・インテリジェンス・チームの間のコミュニケーションを改善する。
  • 概念的、論理的、物理的なレベルでのデータベース設計を容易にし、迅速に行うことができる。

データ・モデリング・ツール

現在、数多くの商用およびオープン・ソースのコンピューター支援ソフトウェア・エンジニアリング(CASE)ソリューションが広く使用されており、その中にはデータ・モデリング、ダイアグラム作成、視覚化のためのツールも含まれています。 いくつか例をご紹介します。

  • erwin Data Modeler は、データ・モデリング言語である情報モデリングのための統合定義(IDEF1X)をベースにしたデータ・モデリング・ツールで、次元的なアプローチを含む他の表記法もサポートしています。
  • エンタープライズ・アーキテクト は、企業の情報システムやアーキテクチャ、ソフトウェア・アプリケーションやデータベースのモデリングをサポートするビジュアル・モデリング・デザイン・ツールです。 オブジェクト指向言語と標準に基づいています。
  • ER/Studio は、現在最も普及している複数のデータベース管理システムに対応したデータベース設計ソフトウェアです。 ディメンション的にモデル化されたリレーショナル・データ。
  • 無料のデータ・モデリング・ツール には、Open ModelSphereのようなオープンソースのソリューションがあります。

データ・モデリングとIBM Cloud

IBMの研究者たちは、最初の階層型データ・モデルやリレーショナル・データ・モデルを作成した先駆者であり、これらのモデルが最初に実装されたデータベースを設計しました。

今日、IBM Cloudは、SQLおよびNoSQLデータベースの豊富なポートフォリオをサポートするフルスタック・プラットフォームと、その中のデータ・リソースを効率的に管理するために必要な開発者ツールを提供しています。 また、IBM Cloudは、開発者がオブジェクト、ファイル、ブロック・データのストレージを管理し、パフォーマンスと信頼性を最適化するためのオープン・ソース・ツールをサポートしています。

IBM Cloudでのデータ・モデリングについてもっと知りたいですか。 今すぐIBM idにご登録し、 無料のIBM Cloudアカウントを作成してください 。


関連ソリューション

データウェアハウス

高性能な分析とAIのために開発されたフルマネージドの柔軟なクラウド・データウェアハウスです。


IBM Cloudソリューション

ハイブリッド、 オープン レジリエント デジタル変革のためのプラットフォームとパートナー。


Cloud Pakソリューション

AI搭載のハイブリッドクラウド・ソフトウェア。