結論
リレーショナル型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や乗換案内などユーザーや駅同士に関連があるデータを高速に検索したい場合などに使われる
時系列型
時刻と値がセットになったデータベース
時系列データに特化した圧縮アルゴリズムを用いることで検索の高速化が可能
台帳型
台帳機能に特化したデータベース。
データの変更を管理し、変更・削除できないよう制御する。
データが意図しない内容に変更されていないか、チェックする。
参考