
データベースの安定運用を実現するには。よくある課題とツールの導入による解決策
企業活動で発生する膨大な情報を格納するデータベースは、円滑な業務の遂行や営業活動において欠かせない存在となっています。
パフォーマンスの問題や障害が発生してデータベースがダウンすると、企業活動の停止による生産性の低下や機会損失につながるおそれがあります。
情報システム部門(以下、情シス)には、データベースの運用管理を行い安定的な稼働を維持することが求められます。
この記事では、データベースの安定運用のために行うことや課題、安定かつ効率的な運用を実現する方法について解説します。
\情シス向け! “可観測性”で変わるデータベース運用はこちらの資料から/
目次[非表示]
- 1.データベースの安定運用のために行うこと
- 1.1.➀ログやリソースの監視
- 1.2.②稼働情報の収集
- 1.3.③アクセス権限の管理
- 1.4.④性能管理(パフォーマンスのチューニング)
- 1.5.⑤バックアップの実施
- 1.6.⑥パッチの適用
- 2.データベースの運用における課題
- 3.安定かつ効率的なデータベース運用を実現する『MaxGauge』
- 4.まとめ
データベースの安定運用のために行うこと
データベースを安定運用するには、稼働状況を可視化して障害の発生やパフォーマンスの低下、データの消失・破損などを防ぐための管理が必要です。
➀ログやリソースの監視
データベースのログやリソースなどを監視して、利用状況や性能問題を把握できるようにします。監視を行うことで、動作の異常やパフォーマンスの低下が見られた際にいち早く対応できるようになり、安定した稼働を維持できます。
▼データベースの監視項目
- エラーの有無
- ディスクの利用状況
- セッション数
- CPUやメモリの使用状況
- スループット
- クエリの実行時間 など
ログの内容やプロセスの状態、処理性能、リソースの状況などのさまざまな項目に対して多角的に監視する仕組みが必要です。
②稼働情報の収集
データベースの稼働情報を網羅的・継続的に収集する必要があります。
稼働情報を収集することで、サーバの処理能力やデータの抽出速度などの性能情報を可視化してパフォーマンスの改善を図れます。
また、データベースの内部情報を収集することにより、障害やパフォーマンスの低下が起きた際に原因を分析・特定しやすくなります。これにより、トラブル対応のオペレーションを効率化・迅速化できます。
▼収集する稼働情報の例
- OS情報
- セッション履歴
- SQL実行履歴 など
なお、データベースの可視化についてはこちらの記事をご確認ください。
③アクセス権限の管理
データベースのセキュリティを確保するために、アクセス権限の管理を行います。第三者や権限を有しないユーザーからのアクセスを制限することにより、データの改ざん、情報漏えいなどのトラブルを防ぐことが可能です。
データベースのアクセス権限は、各領域で多層的に設定・管理します。
▼アクセス権限を設定する領域
領域 |
概要 |
1.データベースの種類 |
部門や業務に応じた各データベースのライセンス付与 |
2.テーブル |
データベース内の格納データを整理する各テーブルへのアクセス制御 |
3.ロール |
それぞれのユーザーアカウントに割り当てられたカテゴリごとに付与されるデータベースやテーブルへのアクセス制限 |
4.レコード |
テーブル内にある特定のデータセットへのアクセス権限や編集権限の設定 |
5.フィールド |
テーブルの各レコードに含まれる特定の情報(フィールド)へのアクセス権の設定 |
セキュリティコントロールの観点では、利用ユーザー毎にアカウントを作ることが必要です。ただし、個々のアカウントごとに権限を多層的に設定することは煩雑になりやすく、ミスの原因にもなります。
そのため、ユーザーカテゴリごとに“ロール”と呼ばれるグループを定義・設定して割り当てることによって、データベースおよびテーブルへのアクセス権限を制御することが一般的です。
④性能管理(パフォーマンスのチューニング)
ユーザーが快適にデータベースを利用できるように、性能管理(パフォーマンスのチューニング)を行います。
アクセスの集中やメモリの不足、複雑なSQLの記述などによってデータベースの処理速度・応答性が低下すると、業務に支障をきたす可能性があります。
データベースの統計情報を取得して性能の評価やボトルネックの特定を行い、パフォーマンスの調整を図ることが必要です。
▼パフォーマンスチューニングの方法
- リソースの使用状況に応じたスケーリング
- インデックスの追加
- 複数のサーバやインスタンスでの負荷分散
- SQLの記述見直しによるクエリの最適化 など
⑤バックアップの実施
データベースのシステム障害やハードウェアの故障、ユーザーの操作ミスなどによってデータが破損・消失した場合に備えて、バックアップを実施します。
データの復元が必要になった際にスムーズに対応できるように、リカバリの要件を定めておくことも必要です。
▼バックアップの取得方式
バックアップ取得方式 |
概要 |
フルバックアップ |
データベース内のすべてのデータで取得する |
差分バックアップ |
前回のフルバックアップを実施した時点から取得する |
増分バックアップ |
前回のバックアップ以降に変更・更新されたデータのみを取得する |
ただし、管理するデータ量が膨大になる場合には、これらのバックアップ方式では対応しきれないことがあります。近年では、データベースやディスクを多重化して、1つが壊れても継続的に運用できる構成を設計することによって可用性を確保しています。
⑥パッチの適用
セキュリティホールの修正や機能追加、パフォーマンスの向上などに関する更新プログラムが配布された際には、データベースへのパッチ適用を行います。
▼データベースへのパッチ適用で行うこと
- ベンダーが配布したパッチのダウンロード
- テスト環境での事前検証と承認
- 承認したパッチの適用 など
運用するデータベースが多くなるほどパッチの適用作業に時間を要するほか、一時的な停止が必要になるため、計画的なスケジュール管理が求められます。
また、パッチ適用は工数がかかることから、オンプレミス運用の場合は問題がない限りパッチ適用を控えることも多くあります。クラウド運用においては、古いバージョンのままではベンダーによるサポートが行われないため、一定期間ごとのパッチ適用やバージョンアップが必要です。
データベースの運用における課題
データベースの運用では、情シスによる管理工数・コスト・パフォーマンス・障害対応などに関するさまざまな課題があります。
▼データベースを運用するうえでの課題
- 保守コストの削減
- 運用に要する工数・時間の削減
- 可用性・安定性の確保
- データ分析による利活用
- 障害時における原因特定の精度向上・対応の迅速化 など
部門や拠点ごとに複数のデータベースが分散していたり、クラウド環境・オンプレミス環境が混在したシステム構築が行われたりしている場合には、運用管理が複雑化しやすくなります。
運用のコスト・工数の増加につながるほか、システムの全体像を把握できず、トラブルが発生した際の原因調査・復旧作業も長期化する可能性があります。
このような課題を解決するには、異なる環境にあるデータベースの稼働情報を可視化して効率的に運用管理を行えるツールを導入することがポイントです。
安定かつ効率的なデータベース運用を実現する『MaxGauge』
『MaxGauge』は、データベースの運用管理や性能改善を支援するツールです。
データベースを構成するサーバやOSなどの稼働情報を自動で収集して、複雑化した内部構造を可視化することが可能です。
これにより、情シスによる運用管理の効率化を図れるほか、障害やパフォーマンス低下などが起きた際の原因特定と復旧作業を迅速化できます。
▼MaxGaugeの主な機能
- 内部情報の継続的な自動収集
- 性能に関わるさまざまな指標のリアルタイム監視
- 性能低下の自動検出とアラートによる通知
- IP帯域やデータベースのアクセスに関する権限の設定
- パフォーマンスレポートの作成 など
製品に関する詳しい資料は、こちらからダウンロードしていただけます。
まとめ
この記事では、データベースの運用について以下の内容を解説しました。
- データベースの安定運用のために行うこと
- データベースの運用における課題
- 安定かつ効率的なデータベース運用を実現するツール
企業が保有する多岐にわたる情報を保存するデータベースには、安定的な稼働に向けた運用管理が重要となります。
一方でシステム環境が分散・複雑化している場合には、運用のコスト・工数が増加したり、トラブルが発生した際の原因特定が困難になったりする問題があります。
日本エクセムの『MaxGauge』は、データベースの稼働情報を可視化して、効率的な運用とトラブル対応の迅速化を実現するツールです。データベースのパフォーマンスを管理して可用性の向上に貢献します。
MaxGaugeによるデータベースの運用は、こちらの資料をご確認ください。