逆に問いたい。なんでこんなに面白い仕事を分かってもらえないのだろうかと。
そうまで言うのにはもちろん理由があるが、まずは順を追って、初心者にも分かるように説明していきたい。
データベースの基本理解
この「データの入った箱」がどこで役に立っているのかというと、「そこらじゅう」である。
例を挙げるなら、まず最近流行りの「AI」がある。ご存知のようにAIは人工知能の略称であるが、当然知能であるから学習して賢くなる。その学習のための先生に当たるのが、膨大な「データの入った箱」である。
そこからいろいろな行動パターンを習得して、最適な答えを導き出すのである。(最近ではデータベースのパッケージに、AI機能が組み込まれる例もあるほどである。)
もっと身近な所で例を挙げると、ネット検索をすると出てくる話題として「おすすめランキング」や「人気ランキング」などあるが、この順位付けも「データの入った箱」が役立っている。
おいしいラーメン屋を調べたり、高感度ナンバーワンの芸人さんを、ああだこうだ言い合うのは、誰もが一度は経験しているだろう。
詳しく語ればキリがないが、ざっとこんな感じである。
データベースを操るデータベースエンジニアという人々
もちろんこの箱は、コンビニの陳列棚やクローゼットのように存在しているわけではない。どこにあるかというと、「コンピュータ」の中にある。もちろんそれはPCであったり、サーバーであったり、大小その規模に合わせて「設置」されている。
種類はリレーショナル(2次元)データベース、階層型、ネットワーク型、3次元型といろいろあるが、現在一番メジャーなものと言えば、最初に挙げたリレーショナルデータベースであろう。
これは、イメージしやすく簡単に言えば、Excelの表のようなものである。そこのセルに当たる、「フィールド」と呼ばれる小箱の中に整理整頓されてデータが収納されている。
では、実際データベースエンジニアは何をして飯を食っているのか?いくつか例を挙げてみよう。
当然「データの入った箱」を作るのが、真っ先の仕事となるのだが、ただ作ればいいわけでない。
例えばタンスや食器棚を購入してものを入れていこうとする際、まず考えるのは、「きれいに、わかりやすく」収納することではないだろうか。
データベースエンジニアも同じである。ただ作るだけでは何の役にも立たないジャンクになる。大切なのは、将来のための箱を作ることである。
それをすることによって、おいしい定食屋やアイドルの情報を、即座に利用者に提供できるようになる。
データベースを操作するための言葉
プログラミング言語というものがある。C言語、JAVAやVB等多種多様なものが存在する。これらはコンピュータシステムを操作するための「言葉」であるが、データベースにも似たようなものが存在する。それが「SQL」と呼ばれるもので、いわばデータベースを操作する言葉である。
データベースエンジニアはこのSQLを使い、データベースと会話をしている。そしてこれが普段の仕事の半分以上を占めるといっても過言ではない。
まず、ゼロ地点の作業であるデータを入れるための箱(DB)を作るのもこのSQL言語で指示できる。そこから欲しい情報を取り出し、まとめ、順位付けをする。時には複数のデータベースを繋げたり、削除したり、データの保守、制御等々、とにかく全てが、この言語で事足りる。習得すれば、これほど強い味方はいない。
このデータベースとSQLとエンジニアの関係を分かりやすく言うと、ジブリ映画の「千と千尋の神隠し」に似ている。
釜爺(SQL)にお願いして、薬箱(DB)から必要な薬(情報)をとってもらったり、いくつかの薬を調合したりと(分かりづらいか?)、そんな感じで、千(エンジニア)は日々粛々と作業をこなしているのである。
データベースエンジニアなる仕事のメリットとデメリット
大きな責任 その割に・・
まずデメリットから言うと、まずとにかく仕事は地味である。職業レベルで地味である。例えば、子供たちに聞くあこがれの職業として、プログラマやSEはよく挙がるが、データベースエンジニアは一度も言われることがない。子供どころか、大人になって合コンや結婚式の二次会で、データベースエンジニアがもてはやされたという話は一度も聞かないし、今後一生ないだろう。
そして、その割に社会的な責任は大きい。仕事を受けるということは必然的に個人情報や企業情報、そして機密情報までも抱え込む事になるからである。
このプレッシャーとストレスは、計り知れない。
ひとつ例を挙げると、ある企業の新規開発プロジェクトに関わった際には、ガンダムの操縦取説並みのマニュアルを読み込まされた上に、死ぬほどの契約書に判を押し、やっと作業に取り掛かるという有り様だ。
もし自分が、何かのミスで情報漏洩でもしたら、東京湾に沈められるのではないかと本気で思ったりもした。
そのくらい重要なタスクを請け負っているのである。そしてこれは主観だが、その割に他のIT関係の職種に比べ、ギャラが安い気がする。
データベースエンジニアの言い知れぬ恍惚感
ではメリットだが、誤解を恐れず言うならば、全くデメリットと共通している。
詳しく話すと、世に出る前の、誰も知らない情報を自分は知っていて、しかも誰にも話せない。もっと言えば知らないふりをして生きているという、何とも言えない優越感に包まれるのである。
これはスパイや諜報員に似ている。(なったことは無いが、今流行りのスパイファミリーを見ていると、少しだけ共感できる...。)
もしかしたら自分だけかもしれないが、この何とも言えない感覚に溺れるともう抜け出せなくなるのだ。
完全にデータベースエンジニアという職務をとおして、恍惚に浸っている自分がいる。
これを面白いと言わず、なんと言えばいいのか。まあ、信じるか信じないかは、あなた次第だが。
また、作業は土台であるデータベースを設計・構築・設置など、最初にしっかり作り込んでおけば、まず大きなやらかしは起きない。SQL(言葉)を変えたりすることでミスはリカバリー出来る。あとはサイバーセキュリティ上の問題だが、こちらもサーバーエンジニアほど気を使う必要もなく、PMのいうことを聞いておけば、事足りるのである。
結論:地味で目立たない仕事ではあるが ・・
ただ、繰り返すようだがIT業界の中ではかなり地味で目立たない仕事であることは否定できない。
よって、ある種の承認欲求が強く、自分の武勇伝しか話さないような、色つきメガネをおでこに乗せて無駄に日焼けしたクリエイターの輩には一生理解してはもらえないだろう。
そして彼らは、きっとこう言うだろう「データベースの何が面白いの?」と。