前回「ビジネスの変化に強いデータモデルを作る」では応用品質である「安定性検証」について説明しました。今回は、ビジネスを反映したER図を実際に動くシステムとするために必要となる、物理データモデリングについて解説します。
第7回「物理データモデル作成のポイントは“森→木→森”」でもお伝えしましたが、物理データモデリングとは、単純に論理データモデルをRDBMSへ実装することではなく、ビジネスを可視化した論理データモデルとの乖離(かいり)を最小限に抑えつつ、システムのレスポンス、運用のしやすさなどを考慮したデータモデルへ調整することです。また、RDBMSを運用/保守していく中で、システム変更や拡張要求によりデータベース構造に影響を与え、修正が必要となることがないように、あらかじめ物理データモデリングの段階でしっかり調査/分析することが重要です。この調査/分析フェイズが「処理効率設計」です。
処理効率設計では、後述するCRUD図と論理I/O試算表を使い「森を見て(ボトルネックの発見)木を見て(アクセス方式の検討)森に帰る(格納方式の検討)」を実施します。具体的には、CRUD図を使ってシステムの性能に影響を及ぼすプログラム(ホットスポット)候補を選定し、絞り込まれたプログラムからデータ(エンティティ)への論理I/O数を算出して処理性能を定量的に見積もり、対応策を検討します。
ホットスポット候補の選定には、データとプロセスの関連性を示すCRUD図の作成が必要です。CRUD図からいくつかのポイントに着目し、ホットスポット候補を決めるという流れになります。
図1はCRUD図の例です。CRUD図では縦軸にプロセス(プログラム)、横軸にエンティティを配置し、以下の(1)から(4)を記載することで、「どのプロセスがどのエンティティを参照しているのか」「どのエンティティがどのプロセスから参照されているのか」を明確にします。
(1)プロセス名:
システム設計書などからプロセス名を記載します。
(2)エンティティ名:
ER図を基にエンティティ名とデータ件数を記載します。
(3)アクセスパターン:
システム設計書、ER図を基にプロセスからエンティティへのアクセスパターン(C:Create(生成)、R:Retrieve(参照)、U:Update(更新)、D:Delete(削除))を記載します。次に、C、R、U、Dをそれぞれ「1」として計算し、プロセスごとに合計したものを「アクセスパス長」欄に、エンティティごとに合計したものを「CRUD数」欄にそれぞれ記載します。ちなみにプロセスまたはエンティティごとに集計したものを「アクセスパターン長」と呼びます。
(4)性能評価指標:
実行頻度、重要度、要求性能値などの情報を記載します。性能評価指標値は3〜5段階を目安に定義します。例えば実行頻度を考えた場合、月ごとの頻度を正確に記載するのではなく、おおよその回数を把握し全体の重要度を2(A):5(B):3(C)といった割合で定義します。この中から全体の2割をピックアップし分析を行うといった考え方になります。
図1のCRUD図では「プロセスP1はエンティティE1を参照し、エンティティE3にデータを作成、参照、更新、削除している」ことが分かります。
ホットスポット候補の選定には以下の要素を判断基準にします。
プロセスごとのアクセスパターン長(アクセスパス長)が多いと、結合処理が多く発生することが分かり、CRUD数が多いエンティティはアクセスが集中することが推測できます。
図1では、アクセスパターン長がほかのプロセスと比べ長く、重要度、実行頻度が高い「P1」がホットスポット候補として選定されます。ホットスポット候補が確定したら、次に論理I/O試算を実施します。
Copyright © ITmedia, Inc. All Rights Reserved.