編集部からのお知らせ
解説:広がるエッジAIの動向
Check! ディープラーニングを振り返る

開発者とデータベース管理者--変わりゆくそれぞれの役割

文:Justin James(Special to TechRepublic) 翻訳校正:村上雅章・野崎裕子

2010-10-26 08:00

 ここ数年、データベース関連システムの開発方法に急激な変化が訪れている。そしてそれに伴い、データベース管理者(DBA)とデータベース関連システムの開発者それぞれの役割も変化している。本記事では、こういった変化が開発プロセスに及ぼす影響について考察している。

従来の役割

 クライアント/サーバシステムが当たり前であった時代には、DBAの役割は(データベースのサポートを専門とする)システム管理者と、(アプリケーションが使用するさまざまなビューや、ストアドプロシージャ、関数といったものの開発を行う)開発者の役割を兼ねていた。そして、DBAはパフォーマンスを最大限に引き出せるようなハードウェア構成やOS構成の最適化方法について熟知している必要があった。また、実際にシステムのパフォーマンスを最大限に引き出すうえで、テーブルのパーティショニングや、精緻なインデックス作成、細々した調整といった小ワザをいくつも使える必要があった。さらに、DBAはセキュリティ問題への対応も行っていた。例を挙げると、DBAはデータベースに対するアクセス権限を厳格に定めたストアドプロシージャを作成し、必要に応じてそのストアドプロシージャをアプリケーションに公開し、基となるテーブルをロックダウンしておくといった作業を日常的に行っていたわけである。

 一方、開発者はたいていの場合、DBAに主導権を握られていた。データベースへの完全なアクセス権はDBAが掌握しており、必要な場合にのみアプリケーションやユーザーに権限を付与するようになっていたのである。またDBAは、開発者にデータベースのモデリング作業を任せるということを嫌っていた。というのも、開発者の設計したデータベースの品質は、あまり優れたものにはならないというのが通例だったためである。さらにDBAは、データベースに対するカスタムSQLの実行を開発者に行わせるということに難色を示していた。なぜなら、開発者はDBAほどにはデータベースに精通しておらず、彼らの開発したSQLコードのパフォーマンスが高くないことも多かったためである。

 とは言うものの、多くの組織ではこういった区別や役割分担が存在していなかった。開発者に対してデータベースシステムへのフルアクセス権限を付与しているIT部門もあれば、開発者が基本的にDBAを兼ねており、サーバ管理担当者がその他の作業を受け持つというケースもあった。しかし大企業では、上記のような役割分担が一般的であり、そういったことは当分変わらないだろうと考えられてきた。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]