論理設計から動くシステムへゼロからのデータモデリング入門(11)(1/3 ページ)

前回「ビジネスの変化に強いデータモデルを作る」では応用品質である「安定性検証」について説明しました。今回は、ビジネスを反映したER図を実際に動くシステムとするために必要となる、物理データモデリングについて解説します。

» 2009年12月15日 00時00分 公開
[ITmedia]

調査/分析を行う物理データモデリング

 第7回「物理データモデル作成のポイントは“森→木→森”」でもお伝えしましたが、物理データモデリングとは、単純に論理データモデルをRDBMSへ実装することではなく、ビジネスを可視化した論理データモデルとの乖離(かいり)を最小限に抑えつつ、システムのレスポンス、運用のしやすさなどを考慮したデータモデルへ調整することです。また、RDBMSを運用/保守していく中で、システム変更や拡張要求によりデータベース構造に影響を与え、修正が必要となることがないように、あらかじめ物理データモデリングの段階でしっかり調査/分析することが重要です。この調査/分析フェイズが「処理効率設計」です。

 処理効率設計では、後述するCRUD図と論理I/O試算表を使い「森を見て(ボトルネックの発見)木を見て(アクセス方式の検討)森に帰る(格納方式の検討)」を実施します。具体的には、CRUD図を使ってシステムの性能に影響を及ぼすプログラム(ホットスポット)候補を選定し、絞り込まれたプログラムからデータ(エンティティ)への論理I/O数を算出して処理性能を定量的に見積もり、対応策を検討します。

ホットスポット候補の選定

 ホットスポット候補の選定には、データとプロセスの関連性を示すCRUD図の作成が必要です。CRUD図からいくつかのポイントに着目し、ホットスポット候補を決めるという流れになります。

●図1 ホットスポット候補の選定(クリックで拡大します) ●図1 ホットスポット候補の選定(クリックで拡大します)

1.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にデータを作成、参照、更新、削除している」ことが分かります。

2.ホットスポットを絞り込む

 ホットスポット候補の選定には以下の要素を判断基準にします。

  • アクセスパターン長が長い
  • 実行頻度が高い
  • データ件数が多い
  • 重要度が高い

 プロセスごとのアクセスパターン長(アクセスパス長)が多いと、結合処理が多く発生することが分かり、CRUD数が多いエンティティはアクセスが集中することが推測できます。

 図1では、アクセスパターン長がほかのプロセスと比べ長く、重要度、実行頻度が高い「P1」がホットスポット候補として選定されます。ホットスポット候補が確定したら、次に論理I/O試算を実施します。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。