【リニューアル記念】ブロガーへのSTEPを更新中!

DBサーバとは?役割や種類を初心者にもわかりやすく解説!

DBサーバとは

この世にあるWebサイトのほとんどが、DBサーバ(データベースサーバ)を利用しています。

DBサーバがなければ、ユーザー登録や検索機能などのアプリケーションを開発することができないからです。

つまり、Webサイトを作るWebエンジニアにとって、DBサーバの知識は必須ということになりますね。

今回は、そんなDBサーバの役割や種類について、初心者の方にもわかりやすく解説します。

DBサーバの役割とは

DBサーバ(データベースサーバ)とは、アプリケーションで利用するデータを格納し操作するためのサーバです。

もう少し簡単にいうと、DBサーバはデータの倉庫であり、必要なタイミングでデータを出し入れすることができます。

  • データの作成(Create)
  • データの読み出し(Read)
  • データの更新(Update)
  • データの削除(Delete)

これらの基本機能を、頭文字をとって「CRUD(クラッド)」とよびます。

このCRUDは、データベースに限らず、一般的なシステムにも備わっていますよね。

  • ユーザー情報の登録
  • ユーザー情報の表示
  • ユーザー情報の更新
  • ユーザー情報の削除

実は、これらの機能がシステムに備わっているのも、そのシステムがデータベースを利用しているからなんです。

つまり、世の中のシステムのほとんどが、DBサーバにあるデータを操作することでCRUD機能を実現していることになります。

実際の処理の流れはこんな感じです。

DBサーバの仕組み

  1. APサーバ上のアプリケーションから、DBサーバにデータ操作を要求(CRUD)
  2. DBサーバは要求された処理をおこない、結果をAPサーバのアプリケーションに返す

DBサーバは、APサーバからの要求に従って処理を実行し、その結果を返すという流れが基本になります。

DBサーバとAPサーバを分ける理由

実際のシステムだと、APサーバとDBサーバは別々のマシンに分けられていることが多いです。

これは、以下のようなメリットがあるからです。

  • 負荷分散
  • リスクヘッジ

1つのマシンにたくさんのサーバを起動させると、それだけマシンのCPUやメモリ使用率が上がります。

本来のパフォーマンス以上の負荷をマシンにかけると、当然ですが処理速度にも影響が出てきますよね。

そのため、サーバごとにマシンを分離させて、マシンの負荷を分散させているのです。

また、DBサーバとAPサーバのマシンを分ける理由として、リスクヘッジ(リスクを分散)できるというメリットもあります。

何かしらのアクシデントでAPサーバのマシンがダウンしても、DBサーバのマシンが分離されていれば影響はありません。

もし、1つのマシンにすべてのサーバがあり、ダウンしてしまった場合、ほかのWebシステム(ほかのマシンのAPサーバ)からDBサーバにアクセスすることができなくなります。

つまり、1つのマシンがダウンすると、DBサーバを利用している他のシステムも動かなくなるってことなんです。

キツネ

複数のシステムから1つのDBを利用するケースはたくさんあるよ!

DBサーバの種類

DBサーバにはたくさんの種類がありますが、大きく分けて以下の2つに分けられます。

  • RDBMS(リレーショナルデータベース管理システム)
  • NoSQL(Not only SQL)

もう少し詳しく解説していきますね。

RDBMSとは

RDBMS(リレーショナルデータベース管理システム)とは、「行」と「列」であらわした2次元の表で管理するデータベースのことです。

エクセルのシートで作った表をイメージしてもらえるといいと思います。あんな感じでデータを管理しています。

>代表的なRDBMS(有料)

  • Oracle Database(オラクル データベース)
  • Microsoft SQL Server (マイクロソフト エスキューエル サーバ)

>代表的なRDBMS(無料)

  • Mysql(マイエスキューエル)
  • PostgreSQL(ポストぐレスキューエル)
  • MariaDB(マリアデービー)
  • SQLite(エスキュ―ライト)

データベースの種類は他にもたくさんあるんですけど、とりあえずは無料で使えるMysqlを覚えておけば間違いないです。

実際の業務でも、Ruby、PHP、Javaなどの言語に限らず、幅広いプロジェクトで使われていますから。

また、SQL(RDBMSを操作する言語)は、ほかのデータベースでも応用できますので、Mysqlを扱うことができれば困らないはずです。

キツネ

MariaDBもおすすめ!Mysqlからフォーク(派生)してるから互換性もあるよ!

NoSQLとは

NoSQL(Not only SQL)とは、RDBMS以外のデータベースのことを指します。

つまり、リレーショナルデータベースではないので、行や列を使わずにデータを管理しています。

>代表的なNoSQL(無料)

  • MongoDB(モンゴデービー)
  • Memcached(メムキャッシュド)
  • Redis(レディス)

RDBMSに比べると業務で使う頻度は低いので、とりあえず「NoSQLって種類もあるんだ!」くらいで大丈夫。

まずは、RDBMSをしっかり覚えて、必要になったタイミングでNoSQLに挑戦しましょう!

DBサーバの環境構築

DBサーバの構築自体は簡単にできちゃいます。

Windowsに構築することもできるのですが、Webエンジニアを目指すのであれば、ここはLinuxで構築できるようになりましょう!

Web業界でWindowsを使うことはほとんどありません。

より実践的なLinux環境に慣れておくことが大切です。

まとめ

  • DBサーバとは、データを操作(CRUD)するサーバ
  • 主にAPサーバから利用される
  • DBサーバには、「RDBMS」と「NoSQL」がある
  • Mysqlは実用的かつ無料で使えるRDBMS
  • DBサーバはLinuxで構築するのが一般的

DBサーバの役割を理解したあとは、「Webサーバ」や「APサーバ」についても確認しておきましょう。

この3つのサーバの関係性を知ることで、「Webシステムの仕組み」をイメージしやすくなりますよ!

テキストのコピーはできません。