仕事でプログラムを触るようになるまでは「サーバー」や「データベース」という言葉を聞くと、少し専門的で難しそうに感じていました。
でも、仕事でプログラムを作るたびに「他の人が準備した物(会社で用意されている物や世の中のサービス)」ではなく、自分で作ってみればもっと理解できるのでは?と思うようになりました。
「サーバー」「データベース」を自分の手で構築してみれば、仕組みが分かり、仕事でも活かせるようになるのではと考え、実際にやってみた内容を**忘却禄(自分用の見返せる記録)**としてまとめていきます。
この記事では、学習用として自宅の古いPCを使い、Ubuntu(無料のLinux) と PostgreSQL(無料のデータベース) を組み合わせて、サーバーとDBの基本を体験しながら理解していく流れを紹介します。

サーバーとはなにか?
ネットワークを介して、他のコンピューター(クライアント)に対してデータやサービスを提供するコンピューターシステム
たとえば、スマホでWebサイトを開くとき。
そのページの情報を送り出してくれているのが「Webサーバー」です。
つまりサーバーとは、
「誰かのために、ずっと働き続ける裏方PC」
というイメージです。
実際職場で動き続けているサーバーを見るとそんな感じがする一方、これが急に壊れたら「やべぇ!」どころの騒ぎじゃなくなるなと毎日思っています。
サーバーの種類と役割(実例つき)
| サーバーの種類 | 主な役割 | 実際の利用例・身近なサービス |
|---|---|---|
| ファイルサーバー | ファイルを共有・保存する | NAS、Googleドライブ、Dropbox、OneDrive など |
| データベースサーバー | データを整理して保存し、アプリやWebに提供する | ネットショップの商品情報、会員登録システム、ブログ記事データなど |
| Webサーバー | Webサイトを配信する | Apache や Nginx が代表的。 WordPressサイト、企業HP、ECサイト(Amazon・楽天など)もこの仕組みで動いている |
| メールサーバー | メールの送受信を管理 | Gmail、Outlook、Thunderbird などの裏側 |
| アプリケーションサーバー | Webサーバーの裏で動的な処理を行う | ECサイトの「カートに入れる」機能、ログイン処理など(Python/Django、PHP、Node.jsなど) |
| DNSサーバー | URL(例: www.example.com)をIPアドレスに変換 | Google Public DNS、Cloudflare DNS など |
| 認証サーバー | ログイン・ユーザー確認を行う | GoogleアカウントやLINEログイン など |
| バックアップサーバー | ファイルやDBのコピーを自動保存 | バックアップ用NAS、クラウドバックアップ(Backblaze、Carboniteなど) |
💡 Webサーバーの仕組みをもう少し詳しく
利用者(PC・スマホ)
↓ ブラウザでURLを入力
Webサーバー(Apache / Nginx)
↓ HTMLや画像を返す
アプリケーションサーバー(PHP / Pythonなど)
↓ 必要に応じて動的なページを生成
データベースサーバー(PostgreSQL / MySQLなど)
↑ 記事や商品などのデータを読み書き
たとえば WordPress の場合:
- WordPress自体は「アプリケーション」
- ApacheやNginxが「Webサーバー」
- MySQLが「データベースサーバー」
この3つが連携して動くことで、1つのブログサイトが成り立っています。

データベースとは?
データを「整理」「保存」「検索」できる仕組み
Excelのように行と列でデータを管理しますが、
大量の情報でも高速に検索・集計ができ、
複数の人やアプリが同時に使っても壊れません。
主なデータベースの種類
| 種類 | 特徴 | 代表例 |
|---|---|---|
| ファイル型DB | 1台のPCで動く軽量DB | SQLite |
| サーバー型DB | ネットワーク越しに利用可能 | PostgreSQL、MySQL |
| クラウドDB | サーバー管理が不要 | BigQuery、Snowflake、Microsoft Fabric |
🧠 イメージでいうと
- Excel → 自分専用のノート
- データベース → チーム全体の共有ノート
学習のゴール
「自分でサーバーを立てて、データベースを作り、別のPCから接続する」
| ステップ | 内容 | 目的 |
|---|---|---|
| ① Ubuntuをインストール | サーバー用OSを理解 | Linuxの基本を学ぶ |
| ② PostgreSQLを導入 | データを管理する基盤 | DBの構造を体験 |
| ③ 初期設定とDB作成 | SQLを体験 | データ操作の基本を理解 |
| ④ 接続設定 | サーバー⇄クライアント通信 | ネットワークの仕組みを知る |
| ⑤ pgAdmin接続 | GUIで確認 | 管理ツールの使い方を学ぶ |
| ⑥ Python接続 | 自動化・ETLを体験 | 実務につながる応用力をつける |
学んで得られること
- サーバーとクライアントの関係が分かる
- データベースの動きが理解できる
- PythonやBIツールとの連携ができる
- IT基盤の仕組みを実際に触って学べる
まとめ
難しそうに見えるサーバーやデータベースも、
実際に「自分で動かしてみる」と一気に理解が深まります。
Ubuntu+PostgreSQLは無料で始められて、学習にもぴったり。
次回は、実際にこの環境を構築していく「ステップ1:Ubuntuのインストール」から始めます。


コメント