アクセス方式と格納方式という2つの視点に留意し、物理データモデリングで行う主な設計について確認します。
処理効率設計で重要となるのは、ボトルネックとなる個所を発見し、施策を検討、決定することです。具体的には、プログラム処理とエンティティの関係性を可視化します。
この関係性の可視化に使うのがエンティティとプロセス(プログラム)をC(Create:生成)、R(Retrieve:参照)、U(Update:更新)、D(Delete:削除)で表現した、CRUD(クラッド)マトリックスです。
CRUDマトリックスにより、どのような処理がどのエンティティに集中しているかが分かるため、ボトルネック要因を簡単に発見することができます。
次に、発見したボトルネック要因に対して論理I/Oを試算します。論理I/O試算とは、各プロセスのエンティティへのアクセスパスから論理I/O数を算出し、処理性能を定量的に見積もる手法です。
処理効率設計では、CRUD図で全体をとらえ、論理I/O試算でアクセス方式の検討を行い、最終的にボトルネックへの対処の検討事項や留意点を明確にします。つまり、「森を見て(ボトルネックの発見)、木を見て(アクセス方式の検討)、森に帰る(格納方式の検討)」を実践するのです。CRUDマトリックスと論理I/O試算を使った処理効率設計手法については、別章にて詳細に説明しますので、ここでは割愛します。
インデックス設計では、「最小数のインデックスで最大の効果」を生み出すことを目標にし、やみくもにインデックスを作成しないということに注意します。特定のプロセス(処理)のためだけでなく、システム全体としての処理効率の向上を意識し、全体最適のためのインデックス定義を行います。
RDBMSへテーブルを実装する際に必要となる各種定義情報(物理データ名称、データ属性など)を検討します。
ビジネスルールをシステム上に反映し、データ矛盾の発生を防止するための制約を定義します。
開発効率やデータセキュリティといった要件を、ビューを作成することで実現可能かどうかを検討します。
共有性と機密性の相反する2つの視点からデータをとらえ、不正なデータアクセスを防止するための適切なデータベースユーザーと権限管理方法を検討します。
本番運用の領域不足による処理効率の低下や、不要領域の確保によるインデックスの無駄使いといった問題が発生しないように、データ保有期間を考慮し、データ格納領域サイズを検討します。
以上、簡単ではありますが、これらがアクセス方式と格納方式に留意した物理データモデリングで行う主な設計を解説しました。次はこれをRDBMSへ実装します。
Copyright © ITmedia, Inc. All Rights Reserved.