3.3 論理設計の手順(1/4)

できるエンジニアになるためのちょい上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.システムおよび業務実施のロケーション

また、業務を実行しているロケーションから、ネットワークの見積もり、必要であれば分散システム環境を提案します。
ただし、これらの作業はアプリケーションの運用設計、データベースの物理設計で行います。

  • 各プロセスのピークが重複しないよう、システム全体の運用スケジュールを作成(運用設計)
  • 分散環境、ストライプ化等を含めたシステムの物理的な構成を設計(物理設計)

以上が、論理設計、物理設計に必要な収集データに関する紹介です。
これらのデータを使って、いかに性能のでるデータベースを設計するかを考えていきます。

< 前へ | 3.3 論理設計の手順(1/4) | 次へ >

解説トレーナー

Oracle / 上流工程 担当 中村 才千代

データベース設計、システム構築の上流~下流工程全般のインストラクターです。SE時代の経験を生かし「業務を知るエンジニアこそDB設計に関わるべき」「DB設計に携わるエンジニアは業務を知る人に知恵を貸してもらう」ことを伝えたいと思っています。

■認定・受賞

2000年 Oracle University「Best Instructor of the Year」受賞
2002年 Oracle University「Best Instructor of the Year」受賞

Page Top