データベースの種類
データベース
データベースにもいろんな種類があるよ!一番メジャーなのは表形式のリレーショナルDB!
データベースの種類
簡単にいうと
データベースにもいろんな種類があるよ!一番メジャーなのは表形式のリレーショナルDB!
① リレーショナルデータベース(RDB)
データベースの中で最も広く使われているのがリレーショナルデータベース(RDB)です。RDBでは、データを表(テーブル)の形式で管理します。表の横方向の1件分のデータを行(レコード/タプル)、縦方向のデータ項目を列(カラム/属性)と呼びます。
たとえば「社員テーブル」であれば、社員番号・氏名・部署コードといった列があり、各社員のデータが1行ずつ格納されるイメージです。複数のテーブルをキーで関連付け(リレーション)できるため、「リレーショナル」という名前が付いています。
RDBの特徴は以下のとおりです。
- データを直感的な表形式で管理できる
- SQL(構造化問い合わせ言語)で操作する
- データの整合性を厳密に保つ仕組み(制約・トランザクション)が充実
- Oracle、MySQL、PostgreSQL、SQL Serverなど多くの製品がある
② 階層型データベースとネットワーク型データベース
RDBが主流になる前に使われていたデータベースの形式です。
階層型データベースは、データを木構造(ツリー構造)で管理します。親ノードと子ノードの関係は常に1対多(1:n)で、1つの子は必ず1つの親にしか属しません。組織図や部品表のように、上下の階層関係が明確なデータに適しています。ただし、あるデータが複数の親を持つような関係は表現できないという制約があります。
ネットワーク型データベースは、データを網構造(グラフ構造)で管理します。1つの子ノードが複数の親ノードを持てるため、多対多(n:n)の関係を直接表現できます。階層型の制約を克服していますが、データ構造が複雑になり、設計や変更が難しいというデメリットがあります。
③ キーバリューデータベース(KVS)
キーバリューストア(KVS)は、データをキー(識別子)と値(データ本体)のペアで格納する、最もシンプルな構造のデータベースです。
RDBのようにスキーマ(表の構造定義)を事前に決める必要がなく、柔軟にデータを格納できます。構造が単純なため、大量データの高速な読み書きに強く、ビッグデータやキャッシュ用途に適しています。代表的な製品にはRedisやAmazon DynamoDBがあります。
④ カラムナー(列指向)データベース
通常のRDBは行指向で、1行分のデータをまとめて格納します。これに対してカラムナーDB(列指向DB)は、列単位でデータを格納します。
| 比較項目 | 行指向DB(通常のRDB) | 列指向DB(カラムナーDB) |
|---|---|---|
| 格納方式 | 1行のデータをまとめて保存 | 1列のデータをまとめて保存 |
| 得意な処理 | 1件のレコード全体の取得・更新 | 特定の列に対する集計(SUM、AVGなど) |
| 苦手な処理 | 大量データの列単位の集計 | 1件ごとの挿入・更新 |
| 主な用途 | 業務システム(OLTP) | データ分析・BI(OLAP) |
| 代表的な製品 | MySQL、PostgreSQL | Amazon Redshift、Google BigQuery |
たとえば100万件の売上データから「売上金額」列だけを合計する場合、行指向DBでは全行を読み込んで金額列を取り出す必要がありますが、列指向DBでは金額列のデータだけを直接読めるため、圧倒的に高速です。
⑤ その他のデータベース
| 種類 | 特徴 |
|---|---|
| リポジトリ | ソフトウェア開発で使用する設計情報や成果物を一元管理する格納庫。CASEツールと連携して使われる |
| インメモリDB | データをすべてメインメモリ(RAM)上に保持するDB。ディスクI/Oが不要なため超高速。障害時のデータ消失リスクがある |
| NoSQL | RDB以外のデータベースの総称。スキーマの柔軟性や水平スケーラビリティに優れる |
NoSQLにはいくつかの種類があります。
| NoSQLの分類 | データモデル | 代表的な製品 |
|---|---|---|
| キーバリュー型 | キーと値のペア | Redis、DynamoDB |
| カラムナー型 | 列ファミリ単位で格納 | Cassandra、HBase |
| ドキュメント型 | JSON/BSON形式の文書 | MongoDB、CouchDB |
| グラフ型 | ノードとエッジで関係性を表現 | Neo4j |
NoSQLは「Not Only SQL」の略で、RDBを否定するものではなく、用途に応じてRDBと使い分ける補完的な存在です。
具体例
データベースの種類を、身近な「住所録」で考えてみましょう。
RDB(表形式)は、Excelの表のようなイメージです。「名前」「電話番号」「住所」という列を定義し、1人分のデータを1行に入力していきます。別の表で「都道府県マスタ」を作り、住所録と関連付けることもできます。
階層型DBは、国→都道府県→市区町村→番地のように、ツリー構造で住所を管理するイメージです。「東京都」の下に「千代田区」「港区」が並び、さらにその下に町名が続きます。ただし、「ある人が2つの住所を持つ」のような柔軟な関係は表現しにくくなります。
KVS(キーバリュー)は、電話帳のようなものです。「田中太郎」というキーに対して「03-1234-5678」という値だけが紐付きます。構造は単純ですが、名前で一発検索できるため非常に高速です。
カラムナーDBは、住所録の「電話番号」列だけを1000万件分まとめて集計したいときに威力を発揮します。列ごとにデータを保持しているため、不要な列を読み飛ばせるのです。
試験のポイント
- ・要は「RDB=表形式(最主流)、階層型=1:n木構造、ネットワーク型=n:n網構造、KVS=キーと値のペア」
- ・NoSQLの4分類(キーバリュー・カラムナー・ドキュメント・グラフ)も押さえる
- ・カラムナーDB=列方向の集計に特化(OLAP)、行指向DB=個別レコード処理(OLTP)
独学で診断士合格を目指すなら
過去問演習・AI添削・テキストPDFまで
すべて揃ったプレミアムプランで合格を掴む!
予備校代の1/10以下で、独学の不安をまるごと解決
- 📝1次試験 過去問演習(全7科目・年度別)無制限プレミアム限定
- 🤖2次試験 AI添削(事例I〜IV・無制限)最適なフィードバックで実力アッププレミアム限定
- 📄科目別テキストPDFダウンロード。印刷して好きな使い方で学習できるプレミアム限定
- 🔖ブックマーク機能で苦手分野・何度も確認したい部分を管理プレミアム限定
- 📊学習記録・成績管理で自分の進捗を可視化プレミアム限定
プレミアムプラン
¥9,800(税込)
自動更新なし / 1年間有効
決済は Stripe(PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。