まず「やってみる」
DB技術の習得は英会話と一緒で、まず「やってみる」ことが大切です。英会話では、グラマーを勉強したり、穴埋め問題をたくさんこなすより実際に外国人と会話するほうが上達への近道です。RDBMSでも、雑誌を読んだり、資格試験の勉強をするよりも、実際にトライアル版をインストールしてあれこれ操作する方が、よほど短期間でスキルアップできます。
本書を手にしているということは、きっと皆さんは知識欲や向上心の強いエンジニアの方々だと思います。本書を読んで、「よし、自分もDBバイリンガルになろう!」と思ってくださる方も少なくないと思います。しかし、思っただけではなく実際に行動できるかどうかが分かれ道なのです。AFN(American Forces Network:米軍関係者向けラジオ放送)を毎日聞いてもヒアリング力があまり上達しないように(これは個人的な経験談ですが・・・)、雑誌を読み流すだけではバイリンガルにはなれません。SQL Serverもマスターしようと思うのであれば、SQL Server2000の評価版などを実際に導入して、トライしてください。
もちろん、ほかのRDBMSの評価版を試してみるのもいいでしょう。10年前と違い、今やインターネットや雑誌で各社の評価版ソフトが入手できますし、技術的な資料やサポートもインターネット上で十分得ることができます。こんな時代になっても、まだ会社の仕事でしか勉強しないという“会社人間的”なオールドスタイルでいると、いつの間にかエンジニアとして大きな差を付けられることになります。
RDBMSの狭い範囲にとどまらない
RDBMSでシステムを構築した経験があれば、データベースの構築やセキュリティの設定、SQLの使い方など基本的な技術はマスターできているでしょう。そして、まだよく理解できていない部分があった場合に、「次回はそこを勉強しながら・・・」などと思った方もきっと多いと思います。
このようにある範囲の中の理解を深めるというアプローチはもちろん大切です。しかし、一方でもう少し顔を離して広い範囲でRDBMS製品を使うことも考えてください。たとえば、SQL ServerにはAnalysis Servicesというビジネス インテリジェンス(BI)を実現するための機能が標準装備されています(*注3)。ところが、せっかく“タダ”でBI機能が装備されているのに、これを使えていないケースが多いのが実情です。
ニーズがないわけではありません。BIなら簡単にできるようなことを“情報系システム”と称して、従来のようにプログラムで作りこんでいるのです。なぜ、そうしているかというと、単にエンジニアのスキル不足・勉強不足が原因と言えます。BIを使ったことがないから提案もしないし、安易にプログラムでの作りこみを選択することになっています。
同じようなことはほかにもいろいろあります。やはりSQL Serverに標準装備されているDTS(*注4)を使えば直接できるデータ連携処理を、わざわざテキストファイルに落として入出力しているケース。標準のバックアップ機能で十分なのに、昔から使い慣れているというだけの理由でサードパーティ製の高い「バックアップ製品」を購入しているケース。ジョブのワークフロー管理で実現できる運用なのに、その機能を使ったことがないので、わざわざサードパーティ製の「ジョブ管理製品」を採用するケース……。などなど、技術者の怠慢がもとで余計な出費を強いられる場合が少なくないのです。
RDBMS製品も時代のニーズに応じて変化しており、適用範囲が拡大しています。知っていて総合的判断で採用しないのと、知らないから使わないのは大違いです。「穴を深く掘るには幅がいる」というつもりで、使えそうな機能は積極的に勉強しておくことも大切だと考えてください。
 |
 |
 |
 |
*注3:Analysis
Services SQL Serverのデータ分析機能は、7.0のときにOLAP Servicesとして登場。SQL Server
2000では、さらにその機能を進化させた統合データ分析サービス機能「Analysis Services」を標準搭載する。詳細はこちら。
*注4:DTS
DTS(Data Transformation Service:データ変換サービス) も、やはりSQL Server 7.0のときに導入された機能。SQL
Server 2000では、GUIツール「DTSデザイナ」の強化をはじめとする機能拡張が施されている。詳細はこちら。 |
|
 |
 |
 |
 |
偏屈なこだわりを捨てる
技術者はある意味職人の世界ですので、当然のことながら人それぞれの“頑固なこだわり”を持っています。このような“こだわり”を持つことは、技術者にとって大切なことです。自分なりのポリシーや信念を持っている人は、それに見合う努力をしているもので、そうでないエンジニアは、ちょっと頼りなくて逆に信頼しにくい面があります。しかし、“こだわり”というのは両刃の剣で、中にはみんなが言っていることを鵜呑みにしているだけ、好き嫌いを最優先して客観視しない、自分のミスを認めないというタイプもいるからやっかいです。
DBバイリンガル、マルチリンガルをめざすとき、この“こだわり”が支障となる人がいます。「え、Oracleだったらこうなのに、SQL Serverはこの機能がないの?」ということにぶち当たり、「やっぱりSQL Serverなんか使えない!」と早々に結論付けるタイプです。こういうタイプは、逆にSQL Serverの方がOracleより優れている機能があっても、その部分は無意識に過小評価しがちなので、心底そう思っているのも事実です。
でも、そこで早々とさじを投げるのは、エンジニアとしては失格です。もちろんOracleの方が優れている機能もあるのですが、逆にSQL Serverの方が優れている点も同じように多々あります。そして、大切なのはどちらの製品も、これでは使えないというような致命的な問題点はないということです。たとえ、前出のようなタイプの人が「使えない」と断定したとしても、世の中では非常に多くのユーザーに問題なく使われているのですから、それを“使えない”のは単にその人の応用力不足だということになるでしょう。
RDBMS製品の進化に対応していく
クルマの世界がマニュアル車からオートマに変わってきたように、RDBMSの世界でもこれまで技術者が面倒を見てきた管理操作をだんだんと自動化してきています。OracleもSQL Serverも運用負荷の軽減のための対策に目を向けており、データファイル、ログファイルの領域管理やメモリ管理などもかなり自動化されてきました。個人的には、まだまだデータベースの断片化の解消やパフォーマンス向上など、問題点を調べるだけでなく解消操作も半自動で行って欲しいと思うことが多いのですが、以前に比べればかなり手がかからなくなってきたと思います。
こうした背景の中、エンジニアにとってのRDBMSの位置付けは以前より割合が小さくなっています。コマンドをたたいてRDBMSを設定・管理するという技術よりも、効率的にビジネスを成功させるための活用技術のほうが必要とされているのです。もはや狭義のDB技術は、ネットワーク技術やWeb技術、セキュリティなどさまざまな技術の中の1つでしかありません。データベースエンジニアも、RDBMSの狭い範囲だけでなく、一歩踏み出した広い技術を積極的に使いこなすように努力しなければなりません。
|