LoginSignup
2
0

More than 3 years have passed since last update.

DBとサーバーって結局何者?

Posted at

前提

・私自身、初学者ですので盲信なさらずに。
・できるだけ噛み砕いて抽象化して記載しています。

目的

・コードは好きだが、「インフラ側があやふやだ...」ってなったので、備忘録作成。
・初学者の役に立てたら。という思いから。

DB (データベース)

〜情報の倉庫〜

データベースは「情報の倉庫」です。
ユーザーから入力された情報・予め入れておく情報などが入っています。

通販を例に挙げると
商品の情報 (DB) > 出力 > 画面に表示
お客様情報 > 入力 > 保存 (DB)

(有名DB)
MySQL , PostgreSQL , Oracle Database , SQLite , MongoDB

サーバー

〜情報の配達員〜

サーバーは「情報の配達員」です。
サーバー内の情報をクライアント(ユーザー)に運びます。
(*厳密には違うが、あくまでイメージ)

通販を例に挙げると
ユーザー(ページ情報要求) > サーバー(探して提供) > 画面に表示

さらに深堀り

サーバーは「Webサーバー」,「APサーバー」,「DBサーバー」に大きく分けることができます。

「Webサーバー」
クライアントの要求したページ情報を提供(HTMLなど)

「APサーバー」
プログラムを提供。
Webサーバーから送られてきたリクエストを元に、PHPなどの動的ファイルの実行を行います。
必要であれば、DBから情報をとってきます。

「DBサーバー」
DBの情報を提供(ユーザー情報など)

結局DBとサーバーの関係とは...

私はずっと勘違いしていたのですが、サーバーという大枠の中にDBが存在します。
・サーバーと言う大枠(配達屋)がある
・更に3つに小分けできる
・そのうちのDBサーバーを用いて、DBから情報をとってくる。
という表現がしっくりくると思います。

image.png

まとめ

・DB(データベース)は情報の倉庫
・サーバーは情報の配達員
・サーバーは Web , AP , DBサーバーに分けられる
・そのうちのDBサーバーを使ってDBにアクセスしている。

所感

初のアウトプットを行うにあたって、「間違った情報を流してはいけない」という思いから、とにかく調べました。
調べる過程で、自分は抽象的な表現の記事の方が理解しやすい。という気づきがありました。
また、アウトプットを行う際、抽象表現の言語化を行うため、知識の定着にもなったと感じました。

ソース

全体

https://www.itscom.co.jp/forbiz/column/office-environment/1087

DB関連

https://26gram.com/what-is-database
https://www.acrovision.jp/career/?p=1912

サーバー関連

https://www.rworks.jp/system/system-column/sys-entry/16259/
https://wa3.i-3-i.info/word14407.html
https://youtu.be/uTK55uaUJKQ
https://www.otsuka-shokai.co.jp/words/application-server.html

MySQL関連

https://www.sejuku.net/blog/9021

書籍

はたらくプログラミング
サーバーのしくみ

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0