データベース

この記事はデータベースについて解説した記事です。会話形式のやさしい文章で「データベース」の用語のイメージを紹介した後に、採用に役立つデータベースの知識を解説しています。

1分で分かる!データベースとは?

~ ことりん君、スマートフォンをガチャガチャ操作 ~

ん~不思議だなぁ~

ことりん君、こんにちは!今日はどうしたの?

ジャバード先生!ちょっとこれ見てよ!不思議なことが起きてるんだ!

不思議なこと??

昨日スマートフォンを新しくしたんだけど、1週間前に「きつねの本屋さん」に会員登録した情報が、ちゃんとWebサイトに残ってたんだ!ぼくたちがWebサイトに入力した情報ってスマートフォンの中に保存しているんじゃないの??

あぁなるほど!それはデータベースのおかげだね!

でーたべーす??

そう!データベースだよ!データベースは、ぼくたちが入力したデータをきちんと保管してくれる頑丈な箱のようなものだよ!入力した情報を箱に入れたり、データを確認したいときは箱から自由に取り出すことができるんだ!もちろん、一度箱に入れたデータの一部を変更したり、不要になったデータを箱から削除することもできるよ!

ータベースは「データを保存する頑丈な箱」か…。あれ、でもスマートフォンのなかに、そのデータベースってやつが入ってるんじゃないの?

データベースはスマートフォンに入っていないよ!そのアプリにもよるけど多くの場合はDBサーバーってよばれるところで動いてるんだ!ぼくたちのスマートフォンからインターネットを経由してDBサーバーにつながってるイメージだね!

あ、そっか!スマートフォンの中にデータを保存しているんじゃなくて、スマートフォンの外側の「DBサーバー」ってところにデータが保存してあるから、スマートフォンが新しくなっても、その「箱」にデータが残っているから、会員情報を確認できたんだね!

そういうことだよ!ちなみに最近はAWSをはじめとするクラウドサービスの1機能であるデータベースを利用する事も増えているよ!
AWSっていうのは前に教えてあげたよね!
参考: AWS

あ、覚えてるよ!雲が「おいしい」お話だね!

そう!それそれ!世の中で動いているWebアプリケーションとかシステムのほとんどがデータベースを使用しているんだ!

データベースってとっても大事なものなんだね!

データベースとは?採用のためのデータベースの予備知識

データベースとは、データを管理するシステムです。データベースにデータを保存したり、必要な場合にデータベースからデータを取得することができます。構成にもよりますが、通常データベースは特定の1か所に集約して管理されます。

データベース自体は「大きな箱」のようなものです。実際に管理される対象は、データの性質や種類ごとに「小さな箱(これをテーブルといいます)」で分けられます。

ECサイトを例に見てみましょう。ECサイトには以下のような「小さな箱」が存在します。

  • 会員情報
  • 商品情報
  • 店舗情報
  • 購入履歴情報
  • 売上情報

Webアプリケーションやシステムは、これらの「小さな箱」に対して、必要に応じてデータを「参照」「登録」「更新」「削除」しているのです。

また、データベースは「箱」のようなものですが、ただの箱ではありません。Webアプリケーションやシステムによっては、億単位のデータを管理する必要がありますが、そういった大量データでも高速かつ安全にデータを処理できる「魔法の箱」なのです。

データベースを使うエンジニア

ITエンジニア、とりわけアプリケーションの開発に携わるエンジニアにとって、データベースは必要不可欠なものです。技術が進歩し、データベースをクラウド上に作ることが多くなりつつありますが、それでもデータベース自体の仕様は以前から変わっていません。

今後も分野を問わず、ITエンジニアであればデータベースの素養は求められるでしょう。

また、大規模なシステムや高速性が求められるシステムの場合、データベースのスペシャリストであるデータベースエンジニア(またはDBA:データベースアドミニストレータ)が必要とされるケースが多いです。

採用する時に知っておくとよいこと

データベースにはいくつかの種類があります。基本的な部分はどのデータベースも共通なのですが、面倒なことに少しづつ仕様差が存在します。このあたりを理解せずに開発すると、思わぬバグを引き起こしてしまうこともあります。そのため、エンジニアを採用する場合は、どのデータベースの経験があるかを確認すると良いでしょう。

ご参考までに2021年6月のデータベースの人気ランキングを紹介しておきます。

  1. Oracle
  2. MySQL
  3. Microsoft SQL Server
  4. PostgreSQL
  5. MongoDB

引用元:solid IT DB-Engines

ちなみに、1位のOracle、2位のMySQLは、現在Oracle社が管理・運営しているため、企業としてはOracle社とMicrosoft社の一騎打ちというイメージです。

求人のポイント

求人を作成する時は、下記の内容を求人に入れるとよいです。

1. システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2. 開発環境
3. 現在のエンジニア組織の体制
4. 現行システムの課題と募集の背景
5. 求められる業務と期待値
6. エンジニアとしてのスキルアップ支援制度の有無と詳細
7. エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8. 選考フロー
9. 待遇
10. キャリアパス

データベース関連の資格について

データベースに限ったことではありませんが、スキルを判断するために資格は有効です。ここではデータベース関連の資格をご紹介しておきます。

資格名 団体
データベーススペシャリスト試験 IPA
Oracle Master Oracle
OSS-DB LPI-JAPAN

ータベースの種類と特徴

データベースに様々な種類があることは前述した通りですが、どのデータベースを選択するかは大まかな傾向があります。筆者の主観も入っていますが、ご参考までに紹介しておきます。

Oracle

価格が高いが高性能。業務システム、ミッションクリティカル(止まることが許されない)なシステムで使用されることが多い。

MySQL

オープンソースソフトであるため基本的に無料。商用ライセンスもあり。

Web業界はMySQLを採用するケースが多い。また、中規模以下のプロジェクトにおいても費用の面からMySQLが選択される事が多い。

Microsoft SQL Server

Microsoftの技術を中心に採用している企業も多い。たとえば、クラウドサービスであればAzure、プログラミング言語であればC#、OSであればWindowsなど。そのようなMicrosoft製品を中心に導入している企業は、データベースもMicrosoft SQL Serverを採用することが多い。

データベースの種類その2

データベースの種類については前述したとおりですが、別の分け方もあります。Oracle、MySQL、Microsoft SQL ServerはいずれもRDBMS(Relational DataBase Management System)と呼ばれるものです。これはExcelのような表でデータを管理するイメージのものです

RDBMS以外では「NoSQL」と呼ばれるものもあります。NoSQLの代表的なDBはAWSのDynamoDB

などです。柔軟性が求められるシステムでは、このようなNoSQL型データベースの採用が増えつつあります。

関連記事

  1. ACCESS

  2. OS(オペレーティングシステム)

  3. CUDA

  4. TensorFlow

  5. DynamoDB

  6. oraclecloud