General DB Flashcards
4つのトランザクション分離レベルについて説明しなさい。(4)
1) SERIALIZABLE(直列化可能)
複数の並行に動作するトランザクションを時間的重なりなく逐次実行した場合と同じ結果となる。
[長所]
最も安全にデータを操作できる
[欠点]
- 相対的に性能は低い
- 順は保証されない
2) REPEATABLE READ(読み取り対象のデータを常に読み取る)
読み取り対象のデータが途中で他のトランザクションによって変更される心配はない。
[長所]
同じトランザクション中では同じデータは何度読み取りしても毎回同じ値を読むことができる。
[短所]
- ファントム・リード(Phantom Read)
3) READ COMMITTED(確定した最新データを常に読み取る)
常にコミット済みのデータのみを読み取る。
MVCC はREAD COMMITTEDを実現する実装の一つである。
[短所]
- ファントム・リード
- 非再現リード(Non-Repeatable Read)
4) READ UNCOMMITTED(確定していないデータまで読み取る)
他の処理によって行われている、書きかけのデータまで読み取る。
[長所]
性能は高い
[短所]
- ファントム・リード
- 非再現リード
- ダーティ・リード(Dirty Read)
トランザクションの並行動作によってデータを破壊する
ファントム・リード(Phantom Read)
並行して動作する他のトランザクションが追加したり削除したデータが途中で見えてしまうため、処理の結果が変わること
ファジーリード/ノンリピータブルリード:非再現リード (Fuzzy Read / Non-Repeatable Read)
同じトランザクション中でも同じデータを読み込むたびに値が変わってしまう現象
ダーティ・リード(Dirty Read)
不完全なデータや、計算途中のデータを読み取ってしまう動作
OLTP(Online Transaction Processing)
の次の点について説明しなさい
1) 定義
2) 主要操作
3) 特性
1) 定義: 日常のトランザクションをリアルタイムで高速に処理するシステム
2) 主要操作: 書き込みが主
3) 特性:
- データの正確性と整合性が重要
- リアルタイムでの処理が重視
https://blog.trocco.io/glossary/oltp?utm_source=google&utm_medium=display&utm_campaign=pmax&utm_term=2023_08&gad_source=1&gclid=Cj0KCQjwiYOxBhC5ARIsAIvdH51Pl59LGwJM86beK_dYQ2SDOvJ2mxnZrUX9U4yJeNP0nFyy4jfAB_UaAlGlEALw_wcB#OLTPtoOLAPDWHno_bi_jiao
OLAP(OnLine Analytical Processing)
の次の点について説明しなさい
1) 定義
2) 主要操作
3) 特性
1) 定義: 大量のデータを集約し、ビジネスの意思決定をサポートするための分析を目的とするシステム
(ビジネスインテリジェンス)
2) 主要操作: 読み取りが主
3) 特性:
- 多次元的なデータビュー
- 複雑なクエリ実行の高速化
DWH(Data Warehouse)
の次の点について説明しなさい
1) 定義
2) 主要操作
3) 特性
1) 定義: 企業のさまざまな情報源からデータを集約し、統一的な形式で保存する大規模なデータベースシステム
2) 主要操作: 長期的な分析やレポート作成のためのデータ提供
3) 特性:
- さまざまな情報源からのデータ集約
- 時系列にわたるデータのトレンドやパターン分析のためのデータ保存
トランザクションシステムの持つべき4つの性質の頭文字をとって何と言うか?
ACID
Atomicity: 不可分性
Consistency: 一貫性
Isolation: 独立性
Durability: 永続性
不可分性(Atomicity)
トランザクションシステムで、
タスクが全て実行されるか、あるいは全く実行されないことを保証する性質。
[例]
口座Aから口座Bに対し1万円送金する場合;
- 口座Aの残高から1万円を引く
- 口座Bの残高に1万円を加える
どちらか片方だけが実行された場合、銀行全体の預金残高に矛盾が発生
一貫性(Consistency)
トランザクションシステムで、
あらかじめ与えられた整合性を満たすことを保証する性質。満たさないトランザクションは中断。
[例]
預金残高は一般的に0あるいは正の値を取る条件を満たす必要がある。
独立性(Isolation)
トランザクションシステムで、
操作の過程が他の操作から隠蔽されること。
[例]
残高100万円の口座Aから残高200万円の口座Bに1万円送金する場合;
1) 口座Aの残高から1万円を引く
2) 口座Bの残高に1万円を加える
時点 口座A 口座B
送金前 100万円 200万円
実行中 99万円 200万円
送金後 99万円 201万円
外部からは送金前と送金後のいずれかの状態しか観測できない
永続性(Durability)
トランザクションシステムで、
システム障害に耐えること。