テーブル作成ばかりがデータベース設計じゃない
こんにちは、皆さん頑張って設計していますか?
ここまでSI Object Browser ER(以下OBER)を使用し、エンティティとリレーションシップを駆使して効率よくデータベース設計する方法をいろいろとご紹介してきました。しかし、データベース設計にはテーブルなどオブジェクトばかりでなく、もう一つ考えなければならないことがあります。それは、データサイズです。
システムが稼働したら、日々大量のデータが投入されますが、それを格納する領域についておろそかにしていると、後で大変苦労をすることになります。
数年後にストレージが・・・
Oracleなどデータベースには、データを格納する領域があります。作成時にサイズを設定するのですが、だんだんデータが増えていくと、この領域を圧迫します。そのうち足りなくなってしまいますが、領域を手動で拡張したり、自動拡張設定もできたりと、それほど気にすることはありません。
ただし、データベースがインストールされている物理的なストレージはそう簡単にはいきません。万が一ハードディスクの容量が足りなくなってしまった場合、その拡張作業はとても手間がかかります。データ退避やストレージの追加、場合によっては新しくデータベースを立て直すなど、コストもそれなりに発生することでしょう。
近年ではCloud環境の利用も増え、昔ほどストレージの拡張は難しくなくなりましたが、データベース設計時点で将来のデータ量を予測し、ストレージサイズを確保することはとても重要になります。
テーブル設計と合わせてデータサイズを予測
テーブル設計が終わったら、その段階でデータサイズを見積もっておくのが理想です。
大まかにいえばレコード長、初期データ量、年間増加予定データ量などを駆使して計算するのですが・・・
ちょっと面倒ですね。そんな時はOBERの「データサイズの見積」機能を使いましょう。
「データサイズの見積」を使ってデータベースのサイズを設計
「データサイズの見積」機能は、その名の通りデータベースのサイズを予測してくれる機能です。
下図赤枠の、初期件数、年間件数(年間に投入されるデータ件数の予測値)を入力し、見積ボタンを押すだけで、五年先までのデータサイズを予測することができます。Oracleを例に、実際に見積もってみましょう。
メニューバー「ツール」 → 「データサイズの見積」 と選択していきます。
画面を開くと、モデルに配置されているエンティティと、その実データ長が表示されています。ここに、初期件数、年間件数を入力しましょう。
初期件数と年間件数を入力
今回はブロックサイズ、PCTFREE、INITRANSの値はデフォルト値を使用します。可変長データ比率は40%としました。可変長データ比率とは、nvarchar2などの可変長データ型にどの程度データが入っているかの想定値です。後は見積ボタンを押すだけです。
1年ごとに5年先まで表示
あっという間に1年ごとに5年先までのデータ予測値を見積もることができました。見積もり対象が既存データベースの場合、「DBから初期件数を取得する」ボタンを押せば、テーブルごとに現在のデータ件数をセットすることも可能です。また、結果はEXCELに出力することもできます。
結果をEXCELに出力
[RELATED_POSTS]
まとめ データサイズ見積もりは余裕をもって
データベース設計は初期段階でデータサイズ見積もりまで行なったほうが、のちのち面倒なことにならずに済みます。また、拡張が比較的簡単なCloud環境であっても初年度のサイズや拡張スケジュールの目安が立てやすくなります。
また、見積もりは常に余裕をもって行うことが重要です。今回の例では5年後に約600MBになると予測されましたが、見積もりギリギリのストレージサイズにして、結果、容量不足に陥ってしまっては意味がありませんので、計算結果の10~20%の余裕を見る、あるいは年間件数を少し多めにみておくなどすると安心です。なにごとも余裕を持ってよりよいデータベースライフを送りましょう。
- カテゴリ:
- キーワード: