EDW参加レポート:データモデリングの講義を受けて
今回は、2024年3月末に開催されたデータマネジメントの国際的カンファレンス「Enterprise Data World」(EDW)の講演の中で特に印象に残った、Steve Hoberman氏による「ALL NEW! Advanced Data Modeling Challenges Workshop」について、筆者の解釈も交えながらご紹介します。今年のEDWの概要については、以下ブログの冒頭をご覧ください。
https://metafind.jp/2024/06/27/datastrategy/
Steve Hoberman氏は30年以上の経験を持つ著名なデータモデラーであり、データモデリングに関する書籍の執筆や教育クラスの開催など、世界的に活躍しています。今回の講義では、NoSQLデータベースが主流になりつつある現状を踏まえて、データモデリングプロジェクトの成功に必要な3つのR「Retaining(保持すべきこと)、Redefining(再定義すべきこと)、Recommending(推奨事項)」について解説がありました。それぞれの内容は以下の通りです。
- Retaining:
データベース(以下DB)の種類に関わらず、データモデリングプロジェクトの成功に不可欠な視点について - Redefining:
NoSQL、特にグラフDBについて、現在は十分に活用されていない点を指摘しつつ、このDBの潜在能力を最大限に引き出すために、従来のデータモデリング手法を再考する必要性について - Recommending:
各NoSQLデータベースの専門家と協力し、DBの特徴に合わせたデータモデリング手法を実施する必要性について
データモデルとは?
Hoberman氏はデータモデルについて次のように説明していました。
“Often, people think of data modeling as just the physical model, but there’s also the conceptual model. It’s central, especially if you want to communicate with businesspeople. They don’t care about table names and column names; they care about their entities. Bringing those together illustrates the business model.”
※以下日本語翻訳
「多くの人はデータモデリングを物理モデルだけだと考えがちですが、概念モデルも存在します。特にビジネスの人々とコミュニケーションをとる場合には、概念モデルが欠かせません。彼らはテーブル名やカラム名には関心がなく、エンティティに関心を持ちます。これらをまとめることで、ビジネスモデルが表現されます。」
ALL NEW! Advanced Data Modeling Challenges Workshop, Enterprise Data World 2024
また、Hoberman氏は3つのレベルのデータモデルについて「Align, Refine, Design」という言葉を用いて次のように説明していました。
- Alignモデル:
主要なビジネス用語とそれらの関係性、定義を確立し、関係者が同じ言語を使用できるようにする。これは概念モデルに相当する。 - Refineモデル:
製品や技術に依存しない形で特定の要件を整理する。これは論理モデルに相当する。 - Designモデル:
Refineモデルを物理的なシステムに実装可能な形に具体化する。これは物理モデルに相当する。
※従来の「概念・論理・物理」という用語ではなく、「Align, Refine, Design」に置き換えることで、開発者や業務ユーザにとってより親しみやすく、理解しやすい表現を使っていました。
データモデルは、Align、Refine、Designの順で作成し、業務ユーザから開発者へデータ要件を伝達します。このプロセスは、データモデリングにおける重要なステップです。
用語を定義することの重要性について
Hoberman氏は、Alignモデルを作成する際に、用語を定義することが重要だと強調していました。筆者もこの点がデータモデリングにおいて重要な役割を果たすと考えています。普段から使い慣れている用語は、その定義を明確にすることが軽視されがちです。例えば、「生徒」という用語一つにしても、ある人はクラスを受講している人を指し、別の人は卒業生も含むと考えるかもしれません。このように、同じ用語であっても、使用される背景や文脈によって異なる意味や範囲を指すことがよくあります。
こうした用語の定義は、データモデリングの初期段階で行うべきです。定義には時間がかかるものの、これらを明確にしたうえでモデリングを実施することで、認識のズレやコミュニケーションロスを防ぎ、データモデルでビジネス要件を正確に表現し、伝えることができます。
データモデリングの成功の鍵 『Retaining(保持すべきこと)』
今回は、3つのRのうち一つ目の「Retaining」について説明します。Hoberman氏は、データモデリングにおける重要な5つの視点を挙げ、これらは時代を超えて持ち続けるべき考え方として、「Retaining」と表現し、これがデータモデリングプロジェクトの成功の鍵だと強調していました。この5つの視点「スコープ、フォーカス、タイマー、フィルター、モード」が、モデリングを進める中でどのように役立つのか、筆者の解釈も交えながら解説します。
1.スコープ
「モデルが対象とする範囲を指す。スコープを明確にすることで、プロジェクトの全体像を把握し、リソースの割り当てや時間管理を適切に行うことができる。」
スコープが明確でないと、必要のない範囲までモデリングしたり、逆に重要な部分を見落としたりしてしまいます。その結果、本来表現すべき業務が正確にモデルで描けないばかりか、リソースや時間を無駄に費やしてしまいます。
2.フォーカス
「モデルが具体的なものか抽象的なものかを示す。具体的なモデルは詳細情報を扱い、抽象的なモデルはより一般的な概念を扱う。適切なフォーカス設定により、ニーズに合ったモデルを作成できる。」
どのようなデータモデルを作成するのかは、目的に応じて決めていく必要があります。例えば、企画段階の粗い検討であれば概念モデル、要件定義の段階では論理モデル、そして物理実装には物理モデルが必要になります。さらに、どの程度の内容を記述するかも決めておく必要があります。例えば、概念モデルといっても、エンティティとリレーションだけで表現したものなのか、主要な属性も含むのかなど、記述レベルは様々です。また、目的によっても求められる記述レベルは異なります。例えば、エンタープライズデータモデルを作成する場合は、PKと主要な属性が記述されていれば十分ですが、システム開発におけるデータ設計の場合は、全ての属性を記述する必要があります。
3.タイマー
「モデルが現状を表わすのか、将来の状態を表わすのかを指す。モデルは静的であるため、時間的な視点を決めることで、ニーズに合ったモデルを作成できる。」
データモデル作成の目的に合わせて、現状の可視化(As-Is)をするのか、将来のあるべき姿(To-Be)の設計をするのか、時間軸を明確にする必要があります。例えば、To-Be設計まで実施する際は、As-Isモデルを作成し、現状の課題や将来の業務変化を踏まえてTo-Beモデルを設計することになります。また、場合によっては、To-Beまでの過渡期であるCan-Beを検討することもあるため、いつの状態のモデルを表現しているのかを明確にしておくことが求められます。
4.フィルター
「使用する言語や用語を統一することを指す。同じ用語でもビジネス用語とアプリケーション用語で異なる意味を持つことがある。用語の統一は、プロジェクト内のコミュニケーションを円滑にし、誤解を減らすことができる。」
データモデリングにおける用語の定義は、「用語を定義することの重要性について」で述べたように、認識のズレを防ぎ、ビジネス要件を正確に理解するためにも、欠かせません。
5.モード
「使用するDBを選択することを指す。プロジェクトの要件やデータの性質に応じて適切なDBを選ぶことで、データの管理や分析が効率的に行われ、ビジネスプロセスの最適化や迅速な意思決定をサポートする。」
業務システムで扱う構造化データの場合は、従来のリレーショナルデータベースを選択しますが、大量データを高速で扱う場合や、ドキュメントや画像などの非構造化データを扱う場合にはNoSQLデータベースも選択肢の一つになります。データ構造やデータ量、処理要件などを基に最適なデータベースを選択することで、最終的にビジネス要件を実現することができます。
つまり、これら5つの視点はプロジェクトのニーズに合った高品質なデータモデルを作成するために決めるべき重要な要素です。特に1~4番目の視点はデータモデリングを始める前に確定しておく必要があります。1~3番目の視点が明確になることで、モデル作成のアプローチ方法(トップダウンやボトムアップ)や作成のために必要なインプットが自然と明らかになります。これを基に工数を見積り、データモデリングの計画を立てることで、効率的に作業を進めることができます。また、4番目の視点は、データモデル作成に必須ではないものの、ビジネス要件を正しく理解し、より品質の高いモデルを作成するために欠かせません。
最後に
Hoberman氏の講義を通じて、用語の明確な定義やデータモデルを作成する際には、5つの視点がデータモデリングの成功に欠かせない要素であることを改めて認識しました。
また、本ブログでは触れていませんが、Hoberman氏はRedefiningやRecommendingのトピックで、グラフDBなどの新しい技術に対応するためには、その技術を理解し、それらに適したデータモデリング手法を検討すべきだと説明されていました。まだ具体的な事例が少ないため、EDWのような場で最新の情報をキャッチアップしながら、新しい技術を踏まえたデータモデリングの手法も学んでいきたいと思います。
弊社では、データモデリングの教育コースやデータモデリング作成ご支援のサービスを提供させていただいています。もしご興味ございましたら、お気軽にお問い合わせください。
データモデリング教育コース:
https://metafind.jp/education/data_management_academy/data_modeling/