データベース(DB)ってなんで必要?

ほとんどのプログラムWebプログラムでは、ユーザーが入力したデータをサーバーに貯めたり、貯められたデータを検索して表示したりする仕組みが必要です。

その時に使うのが「データベース」です。

直訳すると「情報基地」です。その名の通り情報の集合体っていう風に認識してください。

データを保存して検索できるようにしたデータベース

例えば掲示板を作るには記入されたデータをサーバーに保存しておき、他の人が見れるようにしておく仕組みが必要です。

ショッピングサイトを作る場合も、同様に注文されたデータを保存しておく必要があります。そしてそもそも商品情報をあらかじめ登録しておき、それをユーザーに表示する仕組みが必要です。

このようなデータを保存するときに使うのが「データベース」です。

データベースを使うと、大量のデータを効率よく保存できるだけではなく、保存したデータを複雑な条件で抽出して、条件に合致したものだけを取り出したり集計できたりします。

「ショッピングサイトなどでログインして商品を検索して買おうとしたら品切れ中と表示された」みたいな経験ありませんか?

この上記の動作だけでも顧客データベース・商品データベース・在庫データベースは使用されていると考えられます。

このようにバックヤードでは色々なデータベースが使われているのです。

主なデータベースソフト

データベースは、サーバ上で動作するソフトとして構成されます。

ただ自分のPCにデータベースを作ったりすることももちろんできます。

セキュリティを高めるためには、Webサーバーと別のサーバーにインストールすることもあります。

そうしておくと、万が一、Webサーバーに侵入されてもデータベースに保存したデータまで到達できずに安全だからです。

しかし、そこまでのセキュリティを求めなければ同じサーバーでも構いません。

データーベースをシステムフローとか仕様書とかで書くときは円柱で図示します、なんで円柱なのか全然知りませんがw

サーバー上で動作する主なデータベース製品は、次のものがあります。

データベース商用/無償概要
SQL Server商用Windows Server上で動作する、Microsoft社のデータベース
Oracle Datebase商用Windows ServerやLinux上で動作するOracle社のデータベース
MySQL(マイエスキューエル)     オープンソース    Windows ServerやLinux上などで動作するオープンソースのデータベース。人気が高く多くのシェアを占めている。比較的多くのレンタルサーバーでサポートされている
PostgerSQL(通称ポスグレ)        オープンソースWindows ServerやLinux上などで動作するオープンソースのデータベース。MySQLに次いで人気がある
SQLite(エスキューライト)オープンソース軽量のデータベース。WindowsやLinuxの他、iOSやAndoroidでも動作する。ファイルとして構成されており、コピーするだけで別のコンピューターに移動できる。複雑な条件検索などはできず、あまり大量でないデータを格納するのに適する

オープンソース(無償)で敵供されており、無償で利用できるデーターベースだと「MySQL」と「Postgre SQL」が人気です。

特にデーターベースに対応したレンタルサーバーのほとんどは、MySQLを採用しています。

最後に

いかがでしたでしょうか、データベースついて説明してきましたが「あぁシステムの部署から聞こえるSQLってデータベースの事ね」みたいな感じでも構いません。

データベースは情報を整理する上ではかなり重要で企業が一番大事にしているものです。データベースからデータを抽出して色々な分析をしたり、将来に対しての計画を立てたりと企業にとってデータは「企業活動の全ての源」です。

なのでデータベースはとても重要です。

そして最近の動向としてはデータベースをクラウドに移行したりするような企業が増えてきました。

よく聞くところだとAWSです。Amazonのサービスでクラウドデータベースなんて言ったりしますが、メリットとしてはまず自社でサーバーを持つ必要がないということと万が一、自分の会社が災害(火事とか)で全焼したとしてもデータが安全だからです。

ちなみにクラウドは和訳すると「雲」ですが、ほんとに目に見えない空中にデータベースがあるわけではないですからねw

そこは理解してください。そこらへんの情報は次回あたりで書こっかなw

ではでは

Follow me!