AWSやAsure試験でよく登場するデータベースですが、参考書を一度読んでみたが中々理解できない人も多いのではないでしょうか。
その理由としては、データベースに馴染みがない人が大多数であることから、解説を読んでも一つ一つの文章の意味が理解しづらい、またはイメージできないことが要因だと思います。
そこで、この記事ではデータベースに馴染みがない人でも、分かりやすくイメージできる様に解説しています。
AWSやAsureの学習を進める上でつまずいている人は、是非、参考にしていただけたらと思います。
データベースの概要
データベースとは何か?
データベースとは、構造化されているデータの集合体のことを指します。イメージしづらいと思うので、「整理されたデータのまとまり」ぐらいに覚えておくのが良いでしょう。
様々な定義があり、混乱するので、いつでも思い出せる簡単なイメージを持つことが重要です。
データベースの分類
このデータベースはいくつかの種類に分類することができ、今回は「構造的な分類」「SQL有無の分類」と言う2つの観点を紹介していきます。
構造的な分類
まずは、構造的な分類ですが、こちらはデータの管理方法によって分類されています。今回はその中でも有名な3つの分類方法について紹介します。
階層型
1つ目は、階層型の分類です。
この管理方法は、1つのデータを基軸として、データに複数のデータを結びつけていく手法のことを言います。
特徴としては、特定のデータにたどり着くルートが一つしか存在しないため、データを探し出すスピードが速い点が挙げられます。データ間は「1:n」の関係で関連づけられます。
例として、会社の社員管理簿をイメージすると良いでしょう。
A会社の配下にはB支店やC支店などが結びつき、さらにその配下には営業部やC課、最終的には個人の社員名にたどり着きます。
特定の社員を探すのに、非常に分かりやすく、迅速にたどり着くことができます。
ネットワーク型
2つ目は、ネットワーク型の分類です。
この管理方法は、基軸となるデータは存在せず、一つ一つのデータが相互に繋がり、網目の様に繋がることからネットワーク型と呼ばれています。
「1:n」だった階層型と比較して、ネットワーク型は「n:m」で関連づけられることが特徴です。
例として先ほどの社員名簿で考えていきます。営業部に対して個人名を登録するときに、営業部と企画部を兼任している社員が存在するとします。
階層型だと同じ名前で両方の部署に登録する必要がありますが、ネットワーク型なら一つの社員名を営業部と企画部両方に関連づけることができます。
リレーショナル型
最後は、リレーショナル型になります。
この管理方法は、表でデータを管理していく方法で、リレーショナルデータベースとも呼ばれています。
このデータベースは、表の縦の列を「フィールド」、横列を「レコード」、表自体を「テーブル」と呼びます。
直列的にフィールドにデータを追加していき、横の列のレコードには、属性と呼ばれる特徴量を追加していきます。
ここでのリレーションとは、表同士のリレーションを指し、2つ以上のテーブルから新たなデータの表を作ることもできます。
SQLの有無の分類
SQL(Structured Query Language)とは、データベース言語の1つで、データの登録や削除、検索など様々な指示をこのデータベース言語を使って行うことが可能です。
SQLの有無により、リレーショナルデータベースとNoSQLデータベース(非リレーショナルデータベース)に分類することができます。
リレーショナルデータベースは上記で紹介しましたNoSQLデータベースについて下記に紹介しましょう。
NoSQLデータベース
NoSQLデータベースは、リレーショナルデータベースと異なり、SQL言語を用いないことから、名称が付けられています。
具体的には、リレーショナルデータベース以外の、近年開発されたデータベースをNoSQLデータサービスと呼んだりします。
主に4種類に大別することができ、キーバリュー、カラムファミリー、ドキュメント、グラフに分けることができます。各方式の説明は今回は省略します。
DBMSとは何か
DBMS(database management system)とは、データベースを管理するためのソフトウェアのことを指します。
様々なメディアでは、このDBMSのことをデータベースと呼んだりするので混同しない様に注意しましょう。
代表的なものがいくつかあるので、今回は3つに絞って紹介していきます。
DBMSの種類
Oracle DB
1つ目が、OracleDB。
名前の通りOracle社が販売するDBMSになります。このデータベースは世界的にも高いシェアを持ち、障害が起きた際でもサーバが稼働し続けられる高い可用性が特徴です。
その他サービスと比べると高価ですが、Oracle社による充実したサポート契約があり、安定的に運用することができると言えます。
My SQL
次に紹介するのが「MySQL」と言うDBMSですが、こちらはOracleDBと比較して、オープンソースのデータベースとなります。
オープンソースとは自由にダウンロードや変更、再利用などができるもので、このデータベースも無料で自由に誰でも再利用することができます。
OracleDBには劣りますが世界的シェアは高く、様々なOSに対応し、小規模から大規模システムまで柔軟性の高い利用が可能です。
PostgreSQL
最後に紹介するのが、PostgreSQLです。
MySQLと同じくオープンソースデータベースとなりますが、ライセンス規制が緩いのが特徴の1つです。
その一方でサポート体制は薄く、基本的にユーザコミュニティ主体のサポート体制となっています。
YahooやFacebookなど大規模なWEBサービスへの導入実績もあり、スペック的には他と変わらない性能を兼ね備えていると言えます。
まとめ
今回は、クラウド領域で頻出されるデータベースに関して、基本的な意味から主要サービスまで解説してきました。
この分野は、事前に頭の中で整理されていないと、それぞれの用語の意味が混同したり、なかなか記憶に定着しづらい部分だと思うので、これを機にデータベースに関して体系的に整理してみてください。
コメント