今回の概要
今回は「サーバー」と「クラウド」「データベース」3つの違いについて書いていきたいと思います。
なぜやろうと思ったか?
先日社長にサーバーとクラウドとデータベースの違いについて説明できる?と質問された時に、言葉につまってしまったの調べてまとめる事にしました。
では早速まとめて行きたいと思います。
サーバーについて
概要
簡単にいうと、
「サービスを提供する側のコンピュータ」です。
ネットワークで繋がっているコンピュータ上で、サーバーが所持しているデータやサービスをクライアント側のコンピューター(パソコンやスマホ)にて提供します。
私なりもっと簡単すると、
「データの入った箱」です。
サーバーの種類
サーバには下記のように色々な種類ががあり、役割があります。
webサーバ webページの公開
DNSサーバ Webサイトの住所を教える
メールサーバ 電子mailを受け取ったり保管したり
FTPサーバ ファイルを共有,送受信
プリントサーバ 共有印刷
データベースサーバ データベース処理
プロキシサーバー 安全な通信確保する中継サーバ
上記のようなサーバがクライアントからのリクエストに応じて、レスポンスを返します。
運用について
大きく分けると次の2つになります。
物理サーバー
仮想サーバー(VPS)
※こちらの運用の種類については別の機会にまとめて行きたいと思います。
クラウドについて
概要
物理サーバーが仮想サーバーを複数持ったものです。
ハイパーバイザーという技術によって実現している仮想サーバーになります。
※ハイパーバイザーとは
「仮想化技術」の事を指し、直訳すると上の管理となります。
OSのことをスーパーバイザと呼び、
「OSの上層」というような意味で「ハイパー」「管理」という意味で「バイザー」が使われている。
これも私なりにもっと簡単に説明すると、
「サーバーが仮想で作り出しているサーバー」です。
クラウドの種類
クラウドにも種類があります。
「SaaS」「PaaS」「IaaS」と呼ばれるものです。
※この3つに関してはこんがらがるのではじめのうちはクラウドがどういうものかが分かればいいと思います。
SaaS(ソフトウェア・アズ・ア・サービス)
SaaSはgoogle社のスプレットシートやGmailやsaleforce社のクラウドサービスが有名です。
ソフトウェアやアプリケーションのサービスをインターネット経由で利用するサービスです。
普段開発を行わない方も利用しているクラウドサービスとなります。
PaaS(プラットフォーム・アズ・ア・サービス)
PaaSは主に開発者が利用するクラウドサービスになります。
サービスとしてはgoogle社のGoogle AppEnginやsaleforce社のForce.comやHerokuなどが有名です。
実行環境が整っているので、
プログラマーがコードを書けば実行環境やインフラを構築せずにアプリケーションをサーバー上へ配置(ディプロイ)することが可能です。
IaaS(インフラストラクチャー・アズ・ア・サービス)
OSやサーバー、ストレージなどを提供してくれるサービスとなります。
アプリケーションやOSの間を取り持つミドルウェアや実行環境を自分で構築出来る為、カスタマイズ性は上がりますが構築や管理に知識が必要です。
Amazon EC2やGoogle Compute Engine(GCE)があります。
データベース
概要
データを一元管理しているデータの集まりです。
複数のデータをまとめて管理したり編集したりが可能となっています。
エクセルなどの表計算ソフトとの違いは、その名の通りエクセルは計算をしたり表を作成するものになっています。
保管場所はデータベースサーバーがサーバーに作られており管理されています。
データベースの種類
関係型
現在の主流でRDB(リレーショナルデータベース)とも呼ばれる。
行と列からなる表構造で作られたデータベース。
ベンダーには世界一のシェアを誇るOracle社のOracle Database(有償)や同じくオラクル社のMySQL(無償)などがあります。
階層型
ツリー構造で必ず1:nの親と小の関係性がある。
データの重複などが起きるので柔軟性が低い。
ネットワーク型
網状構造でそれぞれの情報が親子関係となっている。
関係性データベースが普及するようになりあまり使用されていない。
個人的な疑問
ベンダーからデータベースのシステムをインストールした際はローカルに保存されるのか?
アプリをディプロイする際はデータベースをネット上のデータベースサーバに立ち上げる必要があるのか?
イマイチ分からなかったので分かり次第更新をしていきたいとおもいます。
まとめ
自分の中でもイマイチ整理が付いておらずモヤモヤしていた所で良い機会となりました。
まだデータベースの所ではっきりしない部分はありますが、とりあえず前に進んだので良しとします。
最後に表で自分なりにまとめてみましたでご参考ください。
単語 | 意味 | 管理 |
サーバー | サービスを提供する側のコンピュータ | サーバー |
クラウド | サーバーが仮想で作り出しているサーバー | サーバー |
データベース | データを一元管理しているデータの集まり | ローカルもしくはデータベースサーバー |
私が普段お世話になっているサーバーはこちら↓
今回も最後までお読み頂きありがとうございました。
駆け出しエンジニアけいこ♂
コメント