初学者である私がAWSを勉強していて、Redshiftや、Auroraなどの説明で
「DBとして〜」、「DWHに〜」、「ストレージが〜」
と出てきて、そもそもそれらってどう違うんだっけ?
疑問を持ったので、自分なりに整理してみました。
- そもそもDBとストレージってどう違うんだっけ?
- ではDBとDWHはどう違う?
- RDSとDWHはどう違う?
- データレイクとDWHの違いは?
- データマートとは?
- データスワンプとは?
- EDW(エンタープライズデータウェアハウス)とは?
- Biとは?
- 最後に
そもそもDBとストレージってどう違うんだっけ?
DB(データベース)とストレージ。
どちらも自分の中では「データを保存してあるもの」というふんわりした理解で進んでいました。
改めて、どう違うかと言うと
DB・・・共有、検索しやすく整理されたデータの集まり。
ストレージ・・・データを保存しておく記憶装置。
です。
DBはデータの集まりです。
それに対し、ストレージはデータ保存を行うツール全般のことを指します。
要はデータを入れるための容れ物、というイメージ。
データを様々な紙の資料として例えるなら、
DBとは資料室のような場所に保存されている資料全体を指している。
ストレージとは資料を保存しておく部屋自体のことを指している。
という風に理解して差し支えないと思います。
ではDBとDWHはどう違う?
ではAWSでも出てきたDWH (データウェアハウス)とDBはどう違うかと言うと。
DB・・・現在進行中の状態のデータを格納し、即座に取り出せる状態になっていることが多い。
DWH・・・業務で発生した各種情報を時系列に保管したデータベースのことを指す。あらゆる情報をまとめたサーバーやソフトウェアであり、データベースの利用形態の1つ。
DWHとは、その名のとおり「倉庫」として情報を時系列に保管する役割を担っている。過去のデータを集約し、格納するのがDWH。
また、DWHには定義があり、
- データが時系列である
- サブジェクトごとに保管してある
- データを統合してある
- データは消さない
と言うのがDWHの定義だそうです。
つまり、先ほどの紙の資料の例でいうと、
どんどん溜まってくる資料を保存し続けていく資料室があり、そこにある資料全体をDBと呼ぶ。
それらの資料を、時系列に並べ、サブジェクトごとに仕分け、倉庫にしまった資料をDWHと呼ぶ。
という事になるかと思います。
RDSとDWHはどう違う?
RDSとは?
では、そのRDBとは?
行と列によって構成された「表形式のテーブル」と呼ばれるデータの集合を、互いに関連付けて関係モデルを使ったデータベースのこと。
ようはExcelみたいな表形式で保存されているデータ同士を関連づけてあるDBがRDB。
DWH・・・列ごとにデータ処理をするので、データの更新はRDSより時間がかかる
RDS・・・行全体でデータを読み込むので、データが大量になると、DWHより処理に時間がかかる。
ここに関しては下記サイトで図いりで解説されています。
理解に苦しんだ方はぜひ下記サイトに飛んでみてください。
データレイクとDWHの違いは?
はい。まだまだ出てきます。
続いてデータレイクです。
データレイクとは?
多種多様なデータを本来のフォーマットのまま保管する広大な領域のこと。
データウェアハウス等と異なり事前にデータ構造や取得元を設計しておく必要がなく、用途が決まっていないけれど使えそうなデータも取り込める。
データレイクとDWHの違いでいうと
データレイク・・・構造データや非構造データ、どちらも用途が決まっていない状態で保管する
DWH・・・特定の用途に合わせて、データを時系列に並べたり、サブジェクトごとに仕分けたりして、整理する
※非構造データとは、ログファイルや画像ファイル、音声ファイルなど特定の構造を持たないデータ
つまり、データレイクとは、テキストやソーシャルメディア、IoTデバイスのログファイルやセンサーなど様々な形態のデータを用途が決まってない状態で保存しておく領域のこと。
という理解でいいかと思います。
はい。まだありますが、息切れしてきたので、以下は自分が上記を調べるにあたって付随的に出てきた情報をサクッと紹介します。
データマートとは?
データマートとはDWHに保管された各データの中から、目的に合わせて必要なものだけを抜き出したデータベースのこと。即座に検索や集計ができため、細かい分析が容易にできる。
つまりDWHの中から「経理部のデータだけ」とか「営業部のデータだけ」とか特定の項目だけを抜き出したDBのこと。
データスワンプとは?
失敗したデータレイクの揶揄。なんでも入るからと、計画性のないデータ蓄積を行うとレイク(湖)は、すぐに使いにくいスワンプ(沼)となる。
EDW(エンタープライズデータウェアハウス)とは?
企業全体向けサービスを提供するデータウェアハウス。
Biとは?
Bi(ビジネスインテリジェンス)とは、各業務システムから蓄積される膨大なデータを自動的に収集、分析、加工し企業経営における意思決定の迅速化を支援する手法、技術。
BIとはさまざまなデータ解析手法や概念の総称でもあり、DWHはBIの一種でもある。
以上です!
最後に
この記事は、プログラミング初学者である私が自分が覚えた知識をより定着させるためにまとめてみたものです。
もし、同じような境遇の方がいれば、参考にしてもらえたらと思います。
また、補足や間違いがあればご指摘いただけると幸いです。
また、一緒にプログラミングを学習していける仲間を探しています。「なんかモチベーションが上がらないなぁ、、」そんな時にも、お互いに触発しあって学習していけたらと思います。ぜひ、下記まで気軽にご連絡ください。