データベースアーキテクト(DBA)の仕事
IT業界を目指す皆さんに質問です。IT業界の仕事としてどのような内容を思い浮かべますか?大抵の人はプログラミングや出来上がったソフトウェアのテストと答えると思います。
当然ながら、当社のようなソフトウェア開発会社の主な業務といえばプログラミングやテストですが、縁の下の力持ち的存在である『データベース』の存在を忘れてしまってはいけません。なぜならば、ほとんどと言ってよいほど多くのソフトウェアに関係しているからです。
データベース(DB)とは?
では、DBとは一体どのようなものなのでしょうか?英語では『DataBase』と書きます。直訳すると『データ基地』。なんとなく想像がつくと思いますが、その名の通りデータを収集するためのソフトウェアです。ただしデータを収集するだけでは何の役にも立ちませんので、それら収集したデータの処理を効率よく行えるように何らかの構造を与えて管理できる状態にします。
DBは大きく以下のタイプに分けられます。
- 階層型
- ネットワーク型
- リレーショナル型
中でも現在主流となっているのがリレーショナル型と呼ばれるもので、以下のようなものがあります。
- Oracle Database
- Microsoft SQL Server
- IBM DB2
- PostgreSQL
- MySQL
イメージをつかむために、ネットショッピングサイトを考えてみましょう。
サイトには商品の情報(値段,在庫数)や注文者の情報等、扱うべきデータが沢山あります。それらの情報は全てデータベースで扱われており、操作のたびにデータベースから情報を取得したり、逆にデータベースに情報を格納したりしています。
つまり、データベースなくしてショッピングサイトは成り立たないわけです。
どうでしょうか?少しはイメージがつかめたでしょうか?
データベースアーキテクト(DBA)の仕事内容
DBAとは、簡単に言ってしまえばデータベース管理者です。具体的には以下のような仕事をこなします。
- テーブル設計
- 先ほど、データ格納の際に何らかの構造を与えて管理できる状態にすると述べました。それがこのテーブルと呼ばれるものです。扱うデータの特性(商品情報,個人情報,注文履歴)にあわせ、個別のテーブルに格納するわけですが、いかに効率良く、また整理された状態にできるかを考えます。
- バックアップリカバリー設計
- 格納されているデータが失われることは、ソフトウェアの動作に支障をきたします。ネットショッピングサイトを例にすると、商品情報が取得できない,注文ができないなど、致命的なエラーへとつながります。そうならないように、普段からバックアップの取得を行う必要がありますので、その取得方法の検討,実装を行います。
- チューニング
- 情報の検索や格納に時間がかかる等、パフォーマンス劣化が発生した際に改善を試みます。またパフォーマンス劣化が発生しないように、事前に対策をとります。
- データの調査
- 収集したデータから、年齢層ごとの売れ筋商品はどれか?など、様々な調査を行います。
最後に
以上、簡単にですがDBとDBAの仕事内容についての説明でした。

大企業においてはDBに関する仕事をいくつかの分野に分け、それぞれ専門にこなす部署があるでしょう。しかし、当社のような小規模な会社においてはそれら全てに加え、PL/SQLといった Oracle Database 上で動作するロジックの実装を行ったりと多岐にわたる仕事をこなすことになります。
また、作業上のちょっとしたミスでデータの損失や改変が発生する可能性があるため、慎重な作業が要求されます。精神的にタフでないとやっていけないかも!?
普段、プログラムの影に隠れて見えない部分ではありますが、実は一番重要な部分と言っても過言ではありません。皆さんも縁の下の力持ちとして、ソフトウェアの動作を影から支援してみませんか?

