データウェアハウスに関する基本的な内容をまとめてみたものです。データウェアハウスに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
[DWHはRDBと何が違うのか] (https://www.techcrowd.jp/datawarehouse/)
[データウェアハウスとRDBのアーキテクチャ] (https://www.techcrowd.jp/datawarehouse/)
データウェアハウスとRDBでは、アーキテクチャが異なります
データウェアハウスは列単位で処理ができる列指向DB
RDBは行単位で入出力を行う
集計処理を行う場合は特定の行の値だけ処理をしますが、データウェアハウスとRDBはアーキテクチャの違いから次のように処理速度に差が生じます。
・データウェアハウスは必要な列のみ読み込むので高速の処理が可能
・RDBは行全体を読み込んでから必要なデータを取り込むので、処理が遅くなる
そのため、大量のデータの集計処理や分析をするには、RDBよりもデータウェアハウスの方が高速で処理することができるのです。
しかし、データの追加や更新をする時は、データウェアハウスの方が効率は悪化します。
データウェアハウスは列単位でデータを処理するために、追加や更新する時は不要なデータまで読み込まないと処理ができないからです。
データの追加・更新を頻繁に行う処理は、データウェアハウスよりもRDBが適しています。
[集計処理にデータウェアハウスが使われる理由] (https://www.techcrowd.jp/datawarehouse/)
特定の列のみのアクセスで済むことが多い集計処理などには、列指向DBであるデータウェアハウスには適しています。データの追加や更新が多いと性能が悪化ことを考慮して、データウェアハウスはデータの書き込み処理をできるだけ行わないように使用されます。
分析処理では、さまざまな列を検索対象とします。RDBでは検索処理を高速化するために少数の列にインデックスをはりますが、検索対象が増えると対応することができません。
その点、データウェアハウスは、列単位で処理が行われるために、高速での検索処理が可能です。数多く検索が行われる分析処理においても、RDBよりもデータウェアハウスを用いた方が効率的に作業することができます。