LoginSignup
0
0

リレーショナルデータベースとNoSQLは何が違う?

Posted at

結論

リレーショナル型DB キーバリューストア型 ドキュメント指向型 グラフデータ型 時系列型 台帳型
種類 RDB NoSQL NoSQL NoSQL NoSQL NoSQL
略称 RDB KVS DOD GraphDB TSDB ledgerDB
一言で データの一貫性を重視 単純で処理速度が高速 拡張性が高い データ間を関連付ける 時系列処理 改ざん耐性

データベースとは?

リレーショナル型

一般的にデータベースといえばこれを指すと考えている。
表同士の関連を定義することで複雑な関係性を持つことが可能なデータベース。
ACID特性を持っており、障害発生時の対応が容易であることやダーティリードに強いことなどが利点。

ACID特性
## ACID特性 Atomicity: 入力されたデータに基づく処理が(すべて実行される/すべて実行されない)のいずれかになる。原子性 Consistency: 処理結果は「8桁である」, 「小数点以下を含まない」などデータベースに設定した条件を満たす。一貫性 Isolation: 処理中は外部からアクセスされない。独立性。 Durability: 処理が完了後にシステム障害が発生しても処理内容が失われない。永続性。

リレーショナルデータベースでは一般的にロー型DBが用いられる。
特定の列(Column)に対する一斉処理や検索などを高速に行う場合はカラム型DBを用いることがある。

キーバリューストア型

データに対応する一意のキーを一対一で保存するデータベース
JSON形式に近い

ドキュメント指向型

実際にデータを入れてから設計を決めることが可能なデータベース
JSONやXMLなど記述形式のデータを登録できる

グラフデータ型

データの構造がネットワークのようになっているデータベース
SNSや乗換案内などユーザーや駅同士に関連があるデータを高速に検索したい場合などに使われる

時系列型

時刻と値がセットになったデータベース
時系列データに特化した圧縮アルゴリズムを用いることで検索の高速化が可能

台帳型

台帳機能に特化したデータベース。
データの変更を管理し、変更・削除できないよう制御する。
データが意図しない内容に変更されていないか、チェックする。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0