・ 新規アプリケーションの追加や、トランザクション量の増加
データベース資源やデータに対する競合が頻繁に発生する要因であり、競合が発生することにより、処理待ち時間が多くなりレスポンスの悪化に繋がる。
最悪の場合、タイムアウト(規定時間内に検索が完了しない)やデッドロック(同時に同一資源を取得しようとして無限の待ち合いとなること)によるアプリケーションの異常終了を招くこととなる。
・ データベース索引の追加
索引を追加することで検索処理のレスポンスは向上するが、更新処理においては索引の書き換え処理が必要となり逆にレスポンスは悪化する。
・ 内在するレスポンスの悪いアプリケーション
既に稼働中のアプリケーションであっても、データベースヘの不要なアクセスや、アクセスに最適な索引を利用していないことにより、本来のレスポンスを維持できていないアプリケーションが内在している可能性がある。
上述したような要因でパフォーマンスの低下が発生するので、これらを監視し改善する必要があるが、常時監視するのは大変な作業である。よって以下の様な基準を作成し定期的な監視を行い改善・防止を行う必要がある。
・ 新規アプリケーション稼動の前後
・ 既存アプリケーションの本番稼動前後
・ 定期的なパフォーマンス改善キャンペーンの実施
また、すべてのアプリケーションを一度に改善するのは大変な作業なので、利用頻度や処理時間が長いなどコストの高いアプリケーションに重点をおいて改善することが望ましい。
2) 障害対策
1] バックアップの取得
定期的にデータベースのバックアップを取得する。頻度はデータベースの更新頻度によって異なるが、関連のあるデータベースを同時期にバックアップすべきである。
2] バックアップの種類
・ フルバックアップ
データベースの内容を全てコピーする。
・ 差分バックアップ
前回取得後から更新部分のみをコピーする。多量のデータを有するデータベースの場合、毎日フルバックアップした場合にバックアップの処理時間がかかる。しかし更新量が多いと、更新データを選択する分、反ってフルバックアップより時間がかかってしまう場合がある。
3] リカバリー処理
障害が発生した場合、データベースを障害発生直前に戻す必要がある。この場合は次の手順でリカバリー作業を行う。