「垂直分散と水平分散って何を分散しているの?」
応用情報技術者試験でもデータベース分野で頻出ですが、
- 行と列のどっち?
- テーブルをどう分割するの?
- 正規化との違いは?
- どんなメリットがある?
で混乱する人がかなり多いテーマです。
この記事では、
- 垂直分散とは?
- 水平分散とは?
- 違い
- 具体例
- 試験での頻出ポイント
を分かりやすく解説します!
まず結論
垂直分散
「列(項目)単位で分割する」
水平分散
「行(レコード)単位で分割する」
超簡単にいうと
| 分散方式 | 分割対象 |
|---|---|
| 垂直分散 | 列(カラム) |
| 水平分散 | 行(レコード) |
分散データベースとは?
まずはここから!
分散データベース
データを複数のサーバへ分散して管理する仕組み。
目的
- 性能向上
- 負荷分散
- 可用性向上
元のテーブル
例として社員テーブルを考える。
| 社員ID | 氏名 | 部署 | 住所 |
|---|---|---|---|
| 1 | 田中 | 営業 | 東京 |
| 2 | 鈴木 | 開発 | 大阪 |
垂直分散とは?
超頻出!
特徴
列ごとに分割する。
イメージ
社員テーブル
↓
列で分割
サーバA
| 社員ID | 氏名 |
|---|---|
| 1 | 田中 |
| 2 | 鈴木 |
サーバB
| 社員ID | 部署 | 住所 |
|---|---|---|
| 1 | 営業 | 東京 |
| 2 | 開発 | 大阪 |
ポイント
重要!
同じ行を持つ
列だけが分かれる。
水平分散とは?
超頻出!
特徴
行ごとに分割する。
イメージ
社員テーブル
↓
行で分割
サーバA
| 社員ID | 氏名 | 部署 | 住所 |
|---|---|---|---|
| 1 | 田中 | 営業 | 東京 |
サーバB
| 社員ID | 氏名 | 部署 | 住所 |
|---|---|---|---|
| 2 | 鈴木 | 開発 | 大阪 |
ポイント
重要!
列構造は同じ
行だけが分かれる。
垂直分散と水平分散の違い
超頻出!
| 比較 | 垂直分散 | 水平分散 |
|---|---|---|
| 分割単位 | 列 | 行 |
| 英語 | Vertical Partitioning | Horizontal Partitioning |
| テーブル構造 | 異なる | 同じ |
| 主な目的 | アクセス効率化 | 負荷分散 |
イメージで理解
垂直分散
氏名列
部署列
住所列
に切る。
水平分散
社員1~1000
社員1001~2000
に切る。
利用例
重要!
垂直分散
よく使う項目だけ高速化。
例
氏名
部署
だけ頻繁に参照。
水平分散
大量データの負荷分散。
例
東日本
西日本
で分割。
シャーディングとの関係
発展知識!
水平分散の代表例。
顧客ID
地域
年月
などで分割する。
正規化との違い
頻出!
正規化
重複排除が目的。
分散
性能向上が目的。
応用情報で超頻出
かなり狙われる👇
- 垂直分散
- 水平分散
- 分散データベース
- シャーディング
- 負荷分散
よくあるひっかけ
「垂直分散は行で分割する」
→ ❌違う!
垂直分散は
列で分割
する。
1分で復習!
垂直分散
列を分割
水平分散
行を分割
垂直分散
アクセス効率向上
水平分散
負荷分散
超重要
Vertical=列
Horizontal=行
練習問題
問題
水平分散の説明として最も適切なものはどれか。
ア
テーブルを列単位で分割する
イ
テーブルを行単位で分割する
ウ
データを圧縮する
エ
主キーを削除する
解答
正解:イ
解説
水平分散は、テーブルの行(レコード)単位でデータを分割して複数のサーバへ配置する方式です。
まとめ
垂直分散とは
「列を分割する」
水平分散とは
「行を分割する」
超重要
- 垂直分散=列
- 水平分散=行
- 負荷分散
- 分散データベース
- シャーディング
まずは、
「垂直=縦(列)に切る」
「水平=横(行)に切る」
このイメージを持つとかなり理解しやすくなります!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント