できるエンジニアになるためのちょい上DB術/第2章 概念設計
3.3 論理設計の手順(1/4)
3.3.2 データ量の確認
データ量の初期値、最大値を確認
情報 | 説明 |
---|---|
初期データ量 | システム稼動直後の初期レコード数、初期レコード長(Insert時の項目数、平均レコード長) |
平均データ量 | 平均のレコード数、平均レコード長 |
最大データ量 | 最大レコード数、最大レコード長(Insert後にUpdateされてレコTド長が長くなる場合、最大(終)レコード長との違いが重要) |
増加率 | レコード長の増加率、レコード数の増加率(漸次増加していくの か、デイリーバッチで一括ロードされるのかなどデータ増加のパターン) |
データベースのデータ量の増加パターンとしては、大きく分けて2通りあります。
DBMSとしては、レコード数が増加する方が、データベースとして自然な増加と考えられます。
Oracleデータベースを例に挙げてみると、レコード数が増加する場合、増加した分は、格納されるブロックが次々に追加されていくイメージとなります。
一方、レコード長が長くなる場合は、最初にInsertされたレコードが、余裕のない状態で格納されているため、レコード長が長くなった場合、そのままでは処理を続行できません。
そこで、あらかじめブロック内にPCTFREEというパラメータで空き領域を設けておき、長くなったレコードをブロック内の空き領域に移動するという処理を行います。
詳しくは第4章「物理設計」で紹介します。
データ量に関するサンプル表を表3-8に示します。
アクセス頻度を確認
エンティティごとに、アクセス頻度を、ビジネスカレンダー日付、時間帯ごとに収集します。
その際、実行されるアプリケーションの種類も確認します(OLTP系の処理か、あるいはDSS系またはバッチ処理か)。
- 単位時間あたりの平均更新件数/アクセス件数
- 単位時間あたりのピーク時更新件数/アクセス件数
- ピークの時間帯(営業が外回りから帰ってきた後18:00-20:00など)
- 1日あたりの更新件数/アクセス件数
- 1日あたりの更新件数/アクセス件数
- 処理件数が日によって偏りがある場合、ピークになる日(15/月末)、月
運用スケジュールの検討と物理構成の検討
業務のタイムスケジュール、処理を行うロケーションなどをヒアリングすることによって、処理が集中しないよう、システムの運用スケジュールを作成します。
- 1.機能単位の処理要求頻度
- 2.業務全体の稼動スケジュール
- 3.システムおよび業務実施のロケーション
また、業務を実行しているロケーションから、ネットワークの見積もり、必要であれば分散システム環境を提案します。
ただし、これらの作業はアプリケーションの運用設計、データベースの物理設計で行います。
- 各プロセスのピークが重複しないよう、システム全体の運用スケジュールを作成(運用設計)
- 分散環境、ストライプ化等を含めたシステムの物理的な構成を設計(物理設計)
以上が、論理設計、物理設計に必要な収集データに関する紹介です。
これらのデータを使って、いかに性能のでるデータベースを設計するかを考えていきます。
解説トレーナー