bucket-sort logo bucket-sort

プログラミングとインフラエンジニアリングの覚え書き

  • Posts
  • About
  • Contact
  1. Home
  2. All Posts
  3. データベースの種類まとめ:Relational / Time-Series / NoSQL / Vector / NewSQL の特徴と代表例

データベースの種類まとめ:Relational / Time-Series / NoSQL / Vector / NewSQL の特徴と代表例

Mar 4, 2026 インフラ bucket-sort

X (Twitter) で Vishakha Sadhwani さん(@vsadhwani)が投稿されていた 「Types of Databases」のインフォグラフィックがわかりやすかったので、 内容を整理して覚え書きとしてまとめます。

Types of Databases - X
@aastha_mhaske による Types of Databases の投稿
x.com

データベースには用途や設計思想の異なるさまざまな種類があり、 大きく以下の 5つのカテゴリ に分類できます。

カテゴリ 代表的な製品
Relational / SQL Database MySQL, Oracle, Microsoft SQL Server, PostgreSQL
Time-Series Database InfluxDB, TimescaleDB, Graphite, Prometheus
NoSQL Database MongoDB, Cassandra, Redis, Couchbase
Vector Database Pinecone, Weaviate, Milvus, Qdrant
NewSQL Database Google Spanner, CockroachDB, TiDB, YugabyteDB

以下、それぞれについて詳しく見ていきます。

1. Relational / SQL Database(リレーショナルデータベース)

代表的な製品

  • MySQL
  • Oracle
  • Microsoft SQL Server
  • PostgreSQL

特徴

  • リレーションシップと参照整合性 — テーブル間の関係を外部キーで定義し、データの整合性を保証する
  • 構造化データ(テーブル + スキーマ) — 行と列で構成されるテーブルに、事前に定義されたスキーマでデータを格納する
  • SQL クエリサポート — 標準化された SQL 言語でデータの操作・検索が可能
  • トランザクションと ACID 特性 — Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)を保証
  • インデックスとクエリ最適化 — インデックスによる高速な検索と、クエリオプティマイザによる実行計画の最適化
  • 強力なセキュリティとアクセス制御 — ユーザー権限やロールベースのアクセス制御をサポート

ユースケース

最も歴史が長く広く使われているデータベースの種類です。 業務システム、EC サイト、金融システムなど、データの整合性とトランザクションが重要なあらゆるアプリケーションに適しています。

2. Time-Series Database(時系列データベース)

代表的な製品

  • InfluxDB
  • TimescaleDB
  • Graphite
  • Prometheus

特徴

  • 高書き込み性能 + 高速クエリ — 大量のデータポイントを高速に書き込み、時間範囲での検索も高速
  • 大容量データの圧縮 — 時系列データに特化した圧縮アルゴリズムでストレージ効率が高い
  • 時間ベースのリテンションポリシー — 古いデータを自動的に削除・ダウンサンプリングする仕組みを内蔵
  • 組み込みの時系列関数 — 移動平均、集計、補間など時系列分析に特化した関数を標準搭載
  • メトリクス・イベント・ログデータの処理に最適 — 監視・オブザーバビリティ領域との親和性が高い
  • 連続的なストリームデータへのスケーリング — 継続的に流入するデータを効率的に処理できる

ユースケース

サーバー監視(CPU / メモリ使用率など)、IoT センサーデータ、 アプリケーションのパフォーマンスメトリクス、金融の株価データなど、 時間軸に沿って連続的に記録されるデータの保存・分析に最適です。

3. NoSQL Database(NoSQL データベース)

代表的な製品

  • MongoDB
  • Cassandra
  • Redis
  • Couchbase

NoSQL 内部の分類

NoSQL はさらに以下の 4 つのサブタイプに分かれます。

サブタイプ 説明 代表例
Document-based(ドキュメント型) JSON/BSON 形式のドキュメントとしてデータを格納 MongoDB, Couchbase
Column-based(カラム型) 列ファミリー単位でデータを格納。大量データの集計に強い Cassandra, HBase
Key-Value(キーバリュー型) キーと値のペアでデータを格納。最もシンプルな構造 Redis, DynamoDB
Graph Database(グラフ型) ノードとエッジでデータ間の関係を表現 Neo4j, Amazon Neptune

特徴

  • 柔軟なスキーマ(半構造化 / 非構造化データ) — スキーマレスで、データ構造の変更が容易
  • 分散アーキテクチャのサポート — 複数ノードへの水平分散が前提の設計
  • 高いスケーラビリティとパフォーマンス — 大規模データ・高トラフィックに対応
  • 高トラフィック向けの並行性制御 — 大量の同時アクセスを効率的に処理
  • 一部の DB では SQL ライクな互換性 — CQL(Cassandra)や N1QL(Couchbase)など SQL に似たクエリ言語を提供

ユースケース

SNS、リアルタイムチャット、コンテンツ管理システム、セッション管理、キャッシュ、 ゲームのリーダーボードなど、柔軟なデータ構造と高いスケーラビリティが求められるアプリケーションに適しています。

4. Vector Database(ベクトルデータベース)

代表的な製品

  • Pinecone
  • Weaviate
  • Milvus
  • Qdrant

特徴

  • AI アプリケーション向けのエンベディング(ベクトル)を保存 — テキストや画像を数値ベクトルに変換して格納
  • 超高速の類似性検索(最近傍探索) — ANN(Approximate Nearest Neighbor)アルゴリズムによる高速検索
  • セマンティック検索・レコメンドシステムに最適 — 意味的な類似度に基づく検索が可能
  • RAG パイプラインで活用(LLM + 知識検索) — LLM に外部知識を与える Retrieval-Augmented Generation の中核
  • マルチモーダルデータの処理 — テキスト、画像、音声などの埋め込みを統一的に扱える
  • メタデータフィルタリング + ハイブリッド検索 — ベクトル類似検索と属性フィルタを組み合わせた検索が可能

ユースケース

AI / 機械学習アプリケーション、チャットボットの知識ベース、 画像・動画の類似検索、レコメンドエンジン、RAG(検索拡張生成)など、 近年の生成 AI ブームに伴い急速に需要が拡大しているカテゴリです。

5. NewSQL Database(NewSQL データベース)

代表的な製品

  • Google Spanner
  • CockroachDB
  • TiDB
  • YugabyteDB

特徴

  • SQL + ACID をリレーショナル DB と同様にサポート — 従来の RDB と同じ SQL インターフェースとトランザクション保証
  • NoSQL のような分散スケーラビリティ — 水平スケーリングが可能で、大規模データに対応
  • ノード間の強い一貫性 — 分散環境でも Strong Consistency を実現
  • トランザクションを維持したまま水平スケーリング — ACID 特性を犠牲にせずにスケールアウト
  • 高可用性とフォールトトレランスが組み込み — ノード障害時も自動的にフェイルオーバー
  • モダンな大規模エンタープライズアプリに最適 — クラウドネイティブ時代の要件に対応

ユースケース

グローバルに展開する大規模 Web サービス、金融取引システム、 マルチリージョンでの整合性が必要なアプリケーションなど、 「RDB の信頼性」と「NoSQL のスケーラビリティ」の両方が必要なシーンに適しています。

まとめ

カテゴリ 一言で言うと 選定の目安
Relational / SQL 構造化データ + ACID データの整合性・トランザクションが最重要
Time-Series 時系列データ特化 監視・IoT・メトリクスなど時間軸のデータ
NoSQL 柔軟 + スケーラブル スキーマレス・大量データ・高トラフィック
Vector ベクトル類似検索 AI / LLM / セマンティック検索
NewSQL RDB + NoSQL のいいとこ取り 大規模分散 + トランザクション両立

各カテゴリにはそれぞれ得意な領域があり、銀の弾丸は存在しません。 アプリケーションの要件(データ構造、スケール、一貫性、レイテンシなど)に応じて 適切なデータベースを選定することが重要です。

また、実際のシステムでは複数種類のデータベースを組み合わせる Polyglot Persistence のアプローチも一般的です。 たとえば、メインの業務データは PostgreSQL、キャッシュは Redis、全文検索は Elasticsearch、 AI 機能のベクトル検索は Pinecone、といった使い分けが考えられます。

データベース MySQL NoSQL NewSQL
← 監査ログをDynamoDBに保存するlaravel-dynamodb-auditingパッケージの概要まとめ InfluxDBとGrafanaを使って自前のメトリクスサーバーを立ち上げる (1) InfluxDBとGrafanaの概要 →

Related Posts

  • Laravel ObjectId - Laravelモデル用のMongoDBスタイルの高速ID Mar 2, 2026
  • RDBMS経験者がDynamoDBを理解するための整理メモ Jan 5, 2026
  • 監査ログをDynamoDBに保存するlaravel-dynamodb-auditingパッケージの概要まとめ Mar 3, 2026
  • RDBのつもりでlaravel-dynamodbを使うとハマりそうなポイントを整理する Mar 1, 2026

Table of Contents

  • 1. Relational / SQL Database(リレーショナルデータベース)
    • 代表的な製品
    • 特徴
    • ユースケース
  • 2. Time-Series Database(時系列データベース)
    • 代表的な製品
    • 特徴
    • ユースケース
  • 3. NoSQL Database(NoSQL データベース)
    • 代表的な製品
    • NoSQL 内部の分類
    • 特徴
    • ユースケース
  • 4. Vector Database(ベクトルデータベース)
    • 代表的な製品
    • 特徴
    • ユースケース
  • 5. NewSQL Database(NewSQL データベース)
    • 代表的な製品
    • 特徴
    • ユースケース
  • まとめ

Recent Posts

  • Laravel の Event / Listener で Pub/Sub を実装する Apr 2, 2026
  • [C#] delegate と event の仕組みを整理する Apr 1, 2026
  • Pub/Sub パターンとは何か Mar 31, 2026
  • PHP/Laravel で値の状態を判定するヘルパ関数まとめ Mar 30, 2026
  • Filament の dehydrated メソッドとは何か Mar 29, 2026

Categories

  • AWS27
  • C#22
  • .NET20
  • Laravel16
  • Linux12
  • Apache8
  • MySQL8
  • PHP8
  • DynamoDB6
  • Nginx5
  • WordPress4
  • インフラ4
  • Hugo3
  • セキュリティ3
  • .NET Framework1
  • Aurora1
  • Filament1
  • Git1
  • SQS1

Tags

  • AWS
  • C#
  • .NET
  • Laravel
  • PHP
  • MySQL
  • セキュリティ
  • Linux
  • Apache
  • Code Snippet
  • DynamoDB
  • NoSQL
  • PHP-FPM
  • RDS
  • DoS
  • Nginx
  • Windows
  • WordPress
  • パフォーマンス
  • 監視
  • Amazon Linux 2023
  • CMS
  • Docker
  • Ipset
  • Iptables
  • OPCache
  • Webサーバー
  • 認可
  • Aurora
  • Blade
Powered by Hugo & Explore Theme.