DBAの日常業務に必要なスキルとは

文:Bob Watkins(TechRepublic) 翻訳校正:石橋啓一郎
2008-08-05 08:00:00
  • このエントリーをはてなブックマークに追加

 データベース管理者(DBA)には3つの基本的な業務があると言われている。重要な順に、データの保護、データの保護、そしてデータの保護だ。

 データの完全性が一番の仕事であることは明らかだが(データが不完全なデータベースの可用性や速度など誰が気にするだろうか)、DBAは他にも多くの仕事を抱えている。以下では、DBAが行っている実際の業務のリストを示す(一部の業務はすべてのDBAに共通のものだが、他のものは一部のデータベース環境でしか必要とされないものであることに注意して欲しい)。

一般的な業務

  • インストール、設定、更新、移行
  •  一般に、個々のサーバのハードウェアとOSに責任を負っているのはシステム管理者だが、データベースソフトウェアのインストールは通常はDBAの責任だ。この業務には、効果的なデータベースサーバに必要とされるハードウェア要件の知識と、それらの要件をシステム管理者に伝えることが必要とされる。次にDBAはデータベースソフトウェアをインストールし、製品のさまざまなオプションを選択して、そのデータベースの目的に合致するよう設定する。新しいバージョンやパッチが開発されれば、どれをインストールするのが適切かを判断するのもDBAの仕事となる。サーバが既存のものの置き換えであれば、古いサーバから新しいサーバにデータを移行することもDBAの仕事だ。

  • バックアップと復旧
  •  DBAには管理しているデータベースのバックアップ計画と復旧計画を整備し、実装し、定期的にテストする責任がある。各システム管理者がサーバーのバックアップを行っている大企業の場合でも、DBAはバックアップをスケジュール通り行い、バックアップに障害が起こった場合にデータベースの復旧に必要なすべてのファイルが含まれていることを確実にすることに最終的な責任を負う。DBAは障害が起こった場合に、コミットされたトランザクションを1つも失わずに、バックアップを用いて可能な限り速やかにデータベースを運用状態に復旧する方法を知っていなければならない。データベースの障害にはいくつかの形が考えられるが、DBAはすべての障害の形態について復旧のための戦略を持っている必要がある。ビジネスの観点からは、バックアップのための費用についても考慮が必要で、DBAはさまざまなバックアップ手段の費用とリスクのトレードオフについて意識して管理しなくてはならない。

  • データベースセキュリティ
  •  データベースはデータのストレージを集中させたものであるため、ハッカーや好奇心の強い従業員には魅力的な標的だ。DBAはデータベースが採用しているセキュリティモデルと、それを効果的に使ってデータへのアクセスを制御する手段を知る必要がある。セキュリティに関する3つの基本的な仕事は、認証(データベースへのログインを管理するためのユーザーアカウントを設定する)、権限付与(データベースのさまざまな部分に対するアクセス許可を設定する)、そして監査(データベースに対して誰が何をしたかを記録する)だ。監査の仕事は特に重要になってきている。これは、SOX法やHIPAAなどの法令が求める報告のための要件を満たす必要があるためだ。

  • ストレージおよび容量の計画
  •  データベースの主な目的はデータの蓄積と読み出しであるため、どれだけのディスクストレージが必要とされるかを計画し、利用可能なディスク空間をモニタリングすることは、DBAの重要な責任だ。長期的な容量計画を立てる際にアドバイスできるよう、ディスク使用量の伸びの動向を調べておくことが重要となる。

  • 性能のモニタリングとチューニング
  •  DBAはデータベースサーバーを定期的にモニタリングし、ボトルネック(システムの中の処理を遅らせている部分)を特定し、それを修正する責任がある。データベースサーバのチューニングは、複数のレベルで行われる。サーバのハードウェアの能力やOSの設定が制約要因になる可能性がある一方、データベースソフトウェアの設定が問題になる可能性もある。データベースがディスクドライブに物理的にどうマップされているかや、選択したインデックスの種類なども影響を及ぼす。データベースに対するクエリーをどうコード化するかは、結果が返ってくる速度を劇的に変える。DBAはこれらの各レベルで利用できるモニタリングツールと、それらを使ってシステムをチューニングする方法を理解していなくてはならない。積極的なチューニングとは、問題が生じて初めて修正するのではなく、最初からアプリケーションに性能についても設計に織り込む方針のことだ。そのためには、データベースを利用するアプリケーションの開発者と緊密に連携を取り、よい性能が得られるよう確実にベストプラクティスに従うようにする必要がある。

  • 新着記事
  • 特集
  • ブログ