これまでのDBA(データベース管理者)の役割
従来は、機能やデータを保存・提供するサーバと利用者がコントロールするクライアントをネットで繋げクライアントの指示に基づきサーバがレスポンスする形式の処理システムが一般的とされていました。
この時代、DBAが担う役割はデータベースの支援をするシステム管理担当とアプリケーションが扱う関数などの開発担当の任務を兼務していました。
そのため、DBAはシステムの能力を最大化できるハードウェア構成力やオペレーションシステム構成力の双方に優れた能力が求められたのです。
具体的にはテーブルのパーティショニングや精密なインデックス製作、こまごまとした各種調整などの細かな技術をさまざまな場面で求められました。
驚くべきことに、データベース管理者はセキュリティ問題についても任務の範囲でアクセス権限の規則を定め、日常的にその管理を行っていたのです。
その一方、開発現場では多くのケースでDBAが主導的立場で、DBAは開発者に構築を任せる事を避けていました。
その理由は、開発者が構築したデータベースのクオリティが低かったためともいわれています。
実際には、大半の組織ではハッキリした区別や役割分担が明確化されておらず、開発者に対してアクセス権を認めるケースや開発者とデータベース管理者が兼任しているケースも多かったのです。
近年のDVAを巡る動向
近年になり、データベースを効果的に短時間で指示・レスポンスのやり取りを可能とするコードを簡単に生成出来るシステムが増加しました。
また、オリジナルSQLコードを自動生成する様々なシステムも開発が進められました。
これらのシステムが生み出すコードは通常、一般的な開発者の成果物と同等またはそれ以上のクオリティを持つとされます。
また、様々なアジャイル開発スキルの発展により、システムの変更は顧客との打ち合わせに応じ随時変更可能となり、開発期間もかつてのように長期に及ばず2週間程度で出来る様になりました。
そのため開発者自身がデータベースの作成・管理を実施して、変更は自動的に行う手法も採用されるようになったのです。
簡単に言えば、自動生成プログラムの開発により、システム開発を助けるため開発者に余裕が出来、データベース管理者の領域に進出してきたということが出来ます。
データベース管理者の将来像
現状が進めばデータベース管理者の領域が狭まり続けるのでしょうか。
かつてのような状況には戻らないとしても、依然として求められるものであると考えられます。
システムの処理能力という観点から見た場合、データベースは以前と変わらず独特の性質を有するので、能力最大化の観点からシステム設計とその修正には、多くの経験を持つスペシャリストが求められると考えられるからです。
開発者の場合、このようなポイントを見逃したとしても全体を見る事が出来るデータベース管理者であれば見逃しは発生しないと考えられるのです。