見出し画像

DMBOK第5章データモデリングとデザイン

要約

データモデリングとはデータ間のプロセスを可視化したものになります。この章の大半は、他の書籍でもカバーできるような一般的な知識になります。
データモデルは議論し合うことで品質を上げ、また、バージョン管理をする必要があります。

前章

前の章である第4章データアーキテクチャはこちらです。

データモデリングの一般的な知識

データモデリングとは

データモデリングとは情報システム全体またはその一部を視覚的に表現し、データの構造間のつながりを伝えるプロセスになります。また、データ要件の明確化や、実装範囲の決定を目的にデータモデルを作成することもデータモデリングになります。様々な書籍や企業によって定義が異なるようです。

データモデルの種類

下記3つになります。
詳細は後述する書籍やブログをご覧下さい。

  • 概念モデル

  • 論理モデル

  • 物理モデル

目標と原則

データモデリングの目標は様々な観点を理解し、確認して文書化することです。そうすることでアプリケーションは現在または将来の業務要件とより密接な整合性を持ちます。

データモデルの対象と構成要素

データモデルの対象はほとんど全てと言っても良いでしょう。DMBOKには、カテゴリー情報、リソース情報、業務イベント情報、詳細取引情報が記載されています。ただし、企業の優先順位によって対象となる情報が異なります。

また、構成要素としてはエンティティやリレーション、属性等といった一般的なDB設計の内容になっています。IPAのDBスペシャリストのような資格試験を受験した方なら既知のことだと思います。よって、詳細な説明はせず、下記のような本に譲ります。

また、よしむら@データマネジメント担当氏の記事もご参照下さい。

データモデリング・スキームとモデルの詳細レベル

データを表現するためにリレーショナル、ディメンショナル、オブジェクト指向、ファクトベース、タイムベース、NoSQLと言う最も一般的な6つのスキームが使用されます。

ここについても解説はせず、データエンジニアリングのバイブルを読んでいただきたいと思います。

ディメンジョナルモデリング

ディメンジョナルモデリングとは、データウェアハウスにデータを格納するために最適化されたデータ構造の手法の1つです。
ファクトとディメンションに分かれることで、より多く使用されるレコードは繰り返されることはなく1回のみ使われます。これでストレージを節約することが可能になります。

Dimensional models(sciencedirectより)

ベストプラクティス

命名規則のベストプラクティス

データモデルとデータベースの命名基準は、エンティティ、テーブル、属性、キー、ビュー、インデックスにとって非常に重要であり、モデリング対象とデータベース構成要素の種類毎に作成する必要があります。

論理名称は、広く使われているもので無い限り、可能な限り完全な省略無しの名前を使用するべきです。
物理名称は、DBMSが許容する最大長に準拠する必要があるため、略語を使用することになります。

また、 命名基準では環境による名称の変更を最小限に抑える必要があり、テスト本番環境など特定の環境を反映してはいけないとなっています。 例えばAWSやGoogle Cloudなど環境毎にプロジェクトを分ける形をとれば、データモデルに関しては、統一した命名基準になるのではないでしょうか。

DB設計のベストプラクティス

データベースの設定と構築において、設計原則を念頭に置いておく必要があります。特に下記のようなPRISMがあります。

  • (Performance)パフォーマンスと使いやすさ

  • (Reusability)再利用性

  • (Integrity)整合性

  • (Security)セキュリティ

  • (Maintainability)保守性

データモデルガバナンス

データモデルと設計品質管理

データエンジニアなどのを職種の人(DMBOKではデータプロフェッショナル)は、情報の利用者が持つデータ要件とデータ生産者が規定するアプリケーション要件のバランスを取る必要があります。

また、データモデルや設計仕様書等の変更が必要となった場合は、その変更管理をしていかなければなりません。そして変更は5W1Hで確認し承認する必要があります。
もちろんこれはバージョン完了する必要があるので、ツールの中にバージョン管理機能があれば、それを利用し、無ければアプリケーションコードと同じようにコード管理をしていく必要があります。

補足

最近の流行として One Big Table というモデリング手法があります。
スタースキーマのようなディメンジョナルモデリングでは、ファクトとディメンションに分けていましたが、1つの大きなテーブルにまとめる One Big Table にすることでコストやパフォーマンス、理解性にメリットが出てくる場合があります。


まとめ

以上、データモデリングとデザインについて解説しました。
エンジニアの経験が長かったり、データエンジニアリングを既に勉強している方にとっては物足りない内容かもしれません。
筆者も説明を譲った部分が非常に多くなりました。少しでも興味のある本があれば読んで頂ければと思います。

もう少し踏み込んだ内容を知りたい方は以下の本はいかがでしょうか。

DMBOKのデータモデリングとデザインについて特に重要な点を解説しました。ただし、非常に量が多いため解説していない部分が多々あります。詳細は本書を手にとってみて下さい。


この記事が気に入ったらサポートをしてみませんか?