データベースとは

サーバーについて

「データベース」について説明をする前に、まず「サーバー」について説明をする必要があります。サーバーとは、「サービスを提供するコンピュータ」であり、これに対して「サービスを受ける」側のことをクライアントといいます。
私たち(クライアント)は、インターネットを介し、サーバーから様々なサービス(例えばWebページ閲覧、メール、SNS、ネットショッピングなど)を利用することができます。

 

サーバーは、提供するサービスにより、様々な名称で呼ばれます。Webページの情報を提供するのは「Webサーバ」、メールの送受信の際に使用されるのは「メールサーバ」です。データベースの機能を提供するのは、そう、「データベースサーバー」です。

データベースとは

企業は、顧客情報や製品情報など、膨大な量の「データ」を扱っています。そのデータを効率よく管理できるようにしたのが「データベース」です。データベースの管理・運用にはデータベース管理システム(DBMS)というソフトウェアが使用され、「Oracle Database」はこのDBMSの製品の一つとなります。

 

Webを使用したシステムでは、必ずと言ってよいほどデータベースが使われています。データベースを使用することで、以下のような利点があります。

 

◆ 大量のデータから、必要なデータを取り出すことができる
例えば、1,000万人の顧客データの中から、「あなた」の情報を確認するとします。人が目で見て調べるには膨大な時間が必要となりますが、データベースでは「索引」と呼ばれる機能により、高速に見つけ出すことができます。

 

◆ 並列的な処理が可能となる
Webシステムでは、多くのユーザーが同時にアクセスを行い、サービスが利用できる必要があります。複数のユーザーが同時に同じデータを更新しようとした場合、データの整合性が取れなくなる事態になりかねません。

 

そのような時、データベースでは「排他制御」という機能により、あるユーザーが更新中のデータは別のユーザーがそのデータを更新できないよう、制御を行うことで整合性を保つことができます。

 

◆ 障害に対し、データを保護することが可能となる
災害によるサーバーの損傷や、アプリケーションのバグなどによるデータの損失など、不測のトラブル時にはデータを復旧することが求められます。
データベースでは、バックアップや複製などを適切に行うことで、問題発生時にデータを復旧することが可能となります。

データベースエンジニアとは

さて、前置きが長くなりましたが、ここからはデータベースエンジニアとしての責任とやりがいをお伝えしていきたいと思います。

 

前述の通り、データベースとは企業が保有する膨大なデータを管理するシステムであり、サーバー上で動作するソフトウェアとなります。データベースで管理するデータは、企業内の様々なシステムで参照されるため、「システムの心臓」であると考えます。

 

データベースが停止してしまったとしたらどうなるでしょうか。
例えば、銀行で預金を引き出そうとした時、口座番号や預金額のデータはデータベースが管理しているため、引き出すことができなくなります。
デイトレードを行う証券会社のシステムである場合、データベース停止により取引ができなくなったことによる損失は計りしれません。

 

24時間365日使用可能なサービスである場合、「データベースは停止しない」事が必要となります。このようなデータベースシステムを「設計・構築・保守・運用」していくことが、データベースエンジニアには求められます。非常に責任感が必要な仕事です。

データベースエンジニアに必要なスキル

データベースエンジニアに必要なスキルについてお伝えします。
専門的な内容を含むため、難しい内容に感じるかもしれませんが、要は「ジェネラリスト」としてのマルチな知識が必要となります。

 

◆ データベースについての製品知識
言うまでもなく、データベースエンジニアになるためには、DBMSの製品知識が必要となります。
Oracle Databaseでは、「Oracle Master」という認定資格の取得を目標に、勉強と実務を通して製品知識を身に付けます。

 

◆ サーバーについての知識
データベースはサーバー上で動作するソフトウェアです。そのため、サーバーについての知識も必要になります。
具体的には、以下のようなものがあげられます。

 

 ・サーバーのハードウェアについての知識
 ・オペレーティングシステム(OS)についての知識
 ・セキュリティについての知識

 

◆ 冗長化構成についての知識
冗長化とは、障害が発生した時のための備えで、同じ機能や役割のある予備を用意しておくことです。

 

 ・クラスタ構成や製品についての知識
  (クラスタとはサーバーを冗長化するための製品や機能です)
 ・ネットワーク冗長化についての知識
 ・ストレージ構成についての知識
  (ストレージとは、データを格納するディスクです)

 

◆ ネットワークについての知識
システムがデータベースと通信できるようにするためには、適切なネットワークを構成する必要があります。データベースは様々なシステムと通信を行う必要があるため、ネットワークについての知識も必要となります。

 

◆ 運用ジョブについての知識
バックアップや不要データの削除など、日々定型的に行う運用業務は、サーバーにスケジュール設定し、自動的に実行できるようにします。そのための「ジョブ」の作成にはプログラミングの知識が、スケジュール設定には、それを管理するための製品知識が必要になります。

 

◆ 運用監視についての知識
データベースシステム稼動後は、障害や異常が発生していないか「監視」を行う必要があります。そのための監視構成の設計や監視製品の設定の知識が必要になります。

 

◆ バックアップ・リカバリについての知識
データベースのデータを退避することをバックアップ、退避したデータを復旧することをリカバリ(リストア)と言います。
データベースのバックアップ・リカバリの設計はかなり複雑です。かつ、絶対に損失や不整合を発生させることはできません。
通常、バックアップを取得するためにはサーバーを停止する必要がありますが、前述の通り、データベースを停止できないシステムではシステムを継続したまま、適切なバックアップを取得するよう、設計する必要があります。

 

◆ ヒューマンスキル
システムエンジニアというと、パソコンを前に黙々と仕事を行っているイメージがあるかもしれませんが、システム発注者であるお客様との打合せや、チーム内でのコミュニケーションなど、意外と人と関わることが多いです。
特にデータベースエンジニアは様々なシステムと連携するため、チーム外のメンバーとの打合せ機会も多いです。また、データベースを利用するためのアプリケーション開発者とのコミュニケーションも必要となります。

データベースエンジニアを養成するための弊社の取り組み

データベースは、ほぼ全てのシステムに存在するにも関わらず、データベースの設計には高度の知識が必要となるため、慢性的にデータベースエンジニアが不足していると言われています。その分、データベースエンジニアは重宝されますし、個々のエンジニアの単価も高いと感じております。

 

データベースエンジニアを育成するための弊社の取り組みを以下に記載いたします。

 

◆ 未経験から一人前のデータベースエンジニアに育てるためのノウハウがあります。
システムエンジニアは技術職であり、専門的なコンピュータの知識が必要ですが、未経験でも業界に参入し、スキルを身に付けていくことができるのが利点です。実際に代表者が未経験からデータベースエンジニアとなり、自身の経験を生かし、データベースエンジニアになるためのカリキュラムを作成しました。

 

弊社の具体的な取り組みを一部ご紹介します。

 

・未経験者は、まずはOSの知識から!
「Lpic Level 1」というLinux OSの資格取得を支援します。場合によっては外部の研修期間で勉強してもらいます。入社1ヶ月での取得を目指します。
未経験から業界に入ったエンジニアで、OSについての知識が無いままに、いきなり案件に投入される話をよく聞きます。先輩社員に教えてもらったり、自分で調べたりして対応しているようですが、このOSの知識をしっかり学んでいるかどうかで、今後のエンジニアとしての成長スピードに圧倒的に差がつくと考えております。
弊社では、Lipc Level 1 を取得するまでは、集中的に勉強に励んでもらいます。

 

・サーバー構築についての基礎を伝授します!
例えば、構築現場には共通して使用されるツールや作業のための作法が存在します。もちろん書籍で得ることはできない知識のため、弊社オリジナルとなります。案件に参画してから慌てることの内容、事前に伝授します。

 

・データベース初心者のための勉強会を開催しています!
Oracle Database製品の知識を得るため、まずは「Oracle Master Bronze」の取得を目指します。人気の資格であるため、本屋に行けば様々な書籍があることに気が付くと思います。
ただし、書籍を見てみてください。全体で500ページほどあります。会社に「資格を取れ」と言われても、当のエンジニアは非常に苦労すると思います。弊社では個別レッスンのための勉強会を開催し、実機実演と書籍の読み合わせにより、エンジニアの資格勉強をフォローします。
講師は、Oracle Master Platinum資格所有者である代表が行います。"Bronze"取得の後は、"Silver"、"Gold"と目指していきますが、もちろん全てフォローすることが可能です。

 

・書籍購入代金補助はもちろん、資格取得費用は、たとえ落ちたとしても補助します!
専門の技術書は個人で購入するには高価だと思いますが、技術職であるシステムエンジニアは、知識を得るために書籍を読むことが多いと思います。
弊社では、専門の技術書の購入費用はすべて補助いたします。また、資格取得にかかる費用も補助いたします。資格取得時には補助を出している企業は多いと思いますが、落ちた時も補助している企業は少ないように思います。
Oracle Masterは受験料が数万円します。積極的にチャレンジしてもらいたい思いから、たとえ落ちてしまった場合にも補助いたします。

 

・設計/構築案件に対応できるよう支援します!
未経験というと、まずは運用を行う案件に入り、知識を身に付けていってから保守、構築とステップアップしていくことが一般的かと思います。
弊社の技術者はみな、設計/構築をメインに案件参画しているため、OJTにより設計/構築案件に携わることが可能です。
ただし、知識のないまま案件参画すると、できる作業が何もない、といった事態になりかねません。前述の取り組みにより、案件参画した後に作業対応ができるよう事前に支援いたします。

採用関連ページ

募集要項

ホーム RSS購読 サイトマップ
トップページ 会社概要 採用情報 お問い合わせ