こんちには。キノコードです。
このレッスンでは、データベースの種類について説明をします。
▼YouTube動画はこちらからどうぞ。
データベースとは、収集したデータを、検索や追加などが簡単にできるように整理したものです。
Webアプリケーション、業務用システム、Webサービスとデータベースは切っても切れない関係にあります。
例えば、ログイン機能は登録時に入力したIDやメールアドレス、パスワードなどをデータベースに保管します。
ログインの際に入力された情報とデータベース内に保管した登録情報が一致するかを確認しています。
データベースの種類
データベースの種類には、リレーショナル型データベース、階層型データベース、ネットワーク型データベース、key-value型データベースなどがあります。
リレーショナル型データベース
リレーショナル型データベースとは、行と列からなる「表」でデータを保管するデータベースです。
表の列には関連度の高い項目を設定し、そこに行としてデータが登録されていきます。
データを検索する際は必要な列や行を指定したり、表と表をつなぎ合わせて新しい表を作り、そこから検索することもできます。
最もスタンダードなタイプのデータベースで、リレーショナルデータベースを管理する製品をRDBMS(リレーショナルデータベース管理システム)と言います。
RDBMSの代表例としては、MySQL、PostgreSQL、OracleDatabase、SQLserverなどがあります。
RDBMSは、SQLと呼ばれる言語を使って、データの登録・検索・更新・削除をすることができます。
階層型データベース
階層型データベースとは、1本の幹から複数の枝に分かれながら枝葉を作っていくタイプのデータベースです。
このような構造をツリー構造といい、階層型データベースはツリー構造でデータを保管します。
親データと子データの関係が「1対複数」で、1つのデータまでのルートが必ず1つなのが特徴です。
この特徴のおかげで、ある特定のデータを検索する場合とても高速に動作します。
ネットワーク型データベース
ネットワーク型データベースとは、ツリー構造でデータを保管するデータベースです。
階層型データベースに似ていますが、ネットワーク型データベースは親データと子データの関係が「複数対複数」なので、柔軟にデータを格納できる特徴があります。
key-value型データベース
key-value型データベースとは、データを識別するための「key」とデータの「value」を1つの組みにして保管するタイプのデータベースです。
key-value型データベースは、NoSQLです。NoSQLは、Not only SQLの略で、SQLを使わなくてもデータベースを使うことができます。
NoSQLというと、key-value型データベースのことを指すことが多いです。
key-value型データベースの代表的なものとして、Redis(レディス),Riak(リアック), Hibari(ひばり)などがあります。
リレーショナル型データベースは、データの正確さに重点を置いたデータベースなので、検索スピードが遅いです。
一方、key-value型はデータの構造が非常にシンプルなので、検索スピードが早く、かつ少ない容量でデータを保管できるのが特徴です。
その特徴から、リレーショナル型では扱えない大規模なデータを保管する場合に活用されています。
MySQL、PostgreSQL、OracleDatabaseについては別で解説します。