DWH
「DWH」
データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回はデータ活用の基盤として活躍する「DWH」について解説をします。
DWHとは
DWH(データウェアハウス)とは、「 Data WareHouse」を略した言葉です。「Warehouse」とは英語で「倉庫」などを意味する単語で、つまりデータ分析などデータ活用のために「データを溜めておく倉庫」のことをDWHと呼びます。
伝統的には、自社で購入して運用するDWHのパッケージ製品としてTeradata(テラデータ)社の製品などが使われてきました。最近ではDWHもクラウドサービスとして提供されるようになり、Googleクラウドが提供する『BigQuery』、Amazon Web Services(AWS)が提供する『Redshift』、Snowflake社が提供する『Snowflake』などが広く知られています。
【くもラジ】~ええええ?データ活用はデータベースだけじゃ足りない?~DWHとは何?(4分38秒)
Vtuberのくも子とハルカが、今話題のIT情報をわかりやすくお届けします。この動画では、くも子がデータ分析にはまったけどデータ量が多すぎて、データベースが重くなっちゃった…なんでー??どうしたらいいの?
通常のデータベースと、データウェアハウスの違いをギュギュっと約5分でお届けします!
「DWH」は普通のデータベース(RDB)と、どのように違うか
データ分析をするために「データを溜めておくところ」のことをDWHと読んだりするわけですが、そもそもどういうものなのか解らない人、イメージが湧かない人もいるかもしれませんので、まずその説明をします。
DWHは概ねとしては「いわゆる一般的なデータベース」と似たようなもの
DWHはデータ分析をするためにデータを溜めておくところですが、具体的にはMySQLやPostgreSQLなどの「いわゆる一般的なRDB(データベース)」と大体は同じものであることがほとんどです。
ほとんどのDWHは、世間一般的な「データベース」の利用イメージと同様の感覚で利用する製品となっています。つまり、テーブルを定義して作成することでデータを入れられるようにし、SQLを用いてデータを投入し、SQLを用いて格納されているデータを検索することでデータ分析を行います。
一般的なデータベースとの「違い」
そういうわけで、DWHは普段使っているデータベース(RDB)との違いが分かりにくいところがあります。例えば、MySQLやPostgreSQLなどのデータベースをすでに運用しているなら、そこにデータが溜められて、同じようにSQLでデータの検索もできるのに、どうして別途DWHを導入する必要性があるのか、少しわかりにくいところがあります。
機能的には概ねは似ているのですが、「利用用途の違い」に合わせてどのような性能が重視されているかや、どのような機能が重視されているかで大きな違いがあります。
MySQLやPostgreSQLなどの一般的なRDB製品は、いわば「データベース上で業務を遂行するための性能」が作りこまれています。データの書き換え・追加・削除などがデータの矛盾などを起こさず高速に行えるように配慮された設計です。例えば、一つしかない商品に同時に注文を出しても二重に受注するようなことがないとか、一つの注文に関連した複数のデータ操作が「全て行われる」か「全て行われない」のどちらかになる(トランザクション)などデータ整合性を保つ機能のような、業務を遂行するニーズで重要になる機能や性能がしっかり作りこまれています。
一方でDWHは「データ分析」利用用途としているため「分析用の性能や機能」が重視されて作られています。データ分析では現時点のデータだけではなくさかのぼって過去のデータが必要になることが多く、「データベースに大量のデータを格納できること」や「大量のデータを対象とした検索処理であっても十分な速度で実行できる」ことが重視されます。また、過去のデータを中心にして「分析処理をしたいだけ」なので、データの書き換え処理は重要ではなく、データ更新に伴ってデータ整合性が保たれるようにする機能なども重要ではありません。
- 一般的なRDB
- 用途は「業務処理」
- OLTP(オンライントランザクション処理)
- 保持するデータは最新データ中心
- データ整合性を保つデータ書き込みや書き換えが重要
- 一件ずつの大量のデータ処理を高速かつデータ不整合を起こさずに行えることが重要
- 適切に正規化されてデータ整合性が保たれやすい形でのデータ保持が望ましい
- SQLで利用する
- DWH
- 用途は「データ分析」
- OLAP(オンライン分析処理)
- 保持するデータは過去データも含む「大量のデータ」
- データ書き換えは重要ではなく、データ整合性を保持する機能も重要ではない
- 大量のデータに対する検索処理(によるデータ分析)を高速に行えることが重要
- データ分析に適した構造でのデータ保持が望ましい(非正規化することがある)
- 基本的にSQLで利用するが、用途の違いからSQLの全ての機能が提供されていないことがある
両方を兼ねたデータベースがあれば済むのではないか?
なお、「業務を遂行するための性能」と「分析用の性能」を一つの製品で兼ねることができればシンプルで良かったのですが、 残念ながら技術上の理由で兼ねることが難しい事情があるため、業務遂行を担うデータベース製品とは別に、分析用の大量データを対象にした処理を得意とする製品が別途作られるようになったのが「DWH」になります。
➡DWHとは:
大量のデータであっても分析クエリによる分析処理がしっかり実施できるような、「分析用の性能」を重視したデータベース
あるいはこのような事情を知らず、普通のデータベース(RDB)を使ってデータ分析をしていて、データ量が増えたことにより「処理がとても遅くなって困っている」のなら、DWHを導入することで問題点が解決できるかもしれません。
「BIツール」との関係
DWHはデータを溜め、SQLなどで分析クエリを使っての分析作業を実現可能にします。BIツールは、分析結果をグラフなどで可視化することに重点を置いた製品になります。組み合わせて利用し、DWHに蓄えられたデータに対してBIツールを使って分析することもできます。
「データレイク」との関係
DWHがデータスキーマ(受け入れるデータの形式)を事前に定義しないとデータを入れられないのに対し、「データレイク」ではデータの形式を意識せずに、様々な大量のデータ(画像や動画などのデータすら)を受け入れられます。 多種多様なデータが大量に発生する時代になったことから、スキーマを用意しなくても、まずは柔軟にどんなデータでも受け入れられる基盤が求められ利用されるようになりました。
Hadoopなどを使って実現される他、各クラウドサービスが提供している(例えば「Amazon S3」など)オブジェクトストレージサービスを利用して実現することができます。
DWHとは方式レベルでの競合技術とみなすこともできます。一方でそれぞれの特徴を生かしてデータレイクとDWHを組み合わせての利用も良くなされます。
「DWH上でのデータ分析」よりも「データの準備」の方が大変な現実
DWHを使ってデータ基盤を構築してデータ分析ができるようになると、思わぬ事実が明らかになります。データ分析そのものよりも、分析に必要なデータの準備に多くの時間がかかることが多かったのです。
データは社内の様々な場所に散在し、しかも多種多様なデータ形式となっていることが普通です。分析をするためにはDWHにデータを持ってこなければいけませんが、様々な場所からデータを読み取り、データ形式などを変換してそろえる前処理をする必要があります。
データ分析に取り組もう、と始めてみたはずが、何か分析しようと思うたび、あちこちからCSVファイルなどでデータを取ってきてExcelで前処理の加工してみたいな大変な作業を延々とやっている、そうことは実際よくあることだと思います。
そこで生まれたのが、多種多様なデータソースに接続でき、データを取得してデータ変換なども効率的に実現できる「データ連携ツール」でした。DWHの悩みを解消する手段として生まれたこのような製品カテゴリは「ETL」と呼ばれるようになります。
➡データ活用の思わぬ落とし穴:
データ分析そのものより、分析に必要なデータの準備に時間がかかることが多い
「DWH」でのデータ活用には「データ連携ツール」が必要
昨今、データ活用に取り組もうとされる組織は多いと思います。データ活用の推進は様々な方法や技術で行えますが、DWHとBIツールを導入して、全社のデータ基盤とする取り組み方はよくあるアプローチだと思います。
DWHの活用ではデータ連携のニーズが様々に発生することがあり、(ETLやEAI、iPaaSなどと呼ばれる)「データ連携ツール」をうまく活用できるかどうかがデータ活用の成功失敗を分けることがあります。例えば、
- DWHへデータを持ってくる手段:
データは社内やクラウドの様々なシステムに、多種多様な形式で存在します。 - DWH上のデータを加工する手段:
分析作業の前にデータ形式を整えるなどのデータ加工が必要になることがあります。 - DWHに溜まっているデータを取り出して外部で活用する手段:
データ基盤としてDWHが定着すると、DWH上にあるデータを外部の様々なシステムで活用するニーズが生じてきます。 - データレイクなど他の技術と組み合わせて利用する手段:
例えばデータレイクで一度様々なデータを受け止め、データレイクのデータを加工してDWHに流し込むような、「それぞれの長所を組み合わせて利用する」のであれば、データレイクとDWHを連携する手段が必要になります(あるいはデータ基盤を移行する場合にも必要になります)。
これら様々な作業を、何かある度に手作業で行っていては、手間と時間がかかって困るはずです。また、どういうデータが必要で、そのデータをどう分析するのかは、事前にはわかるものではなく、実際にデータ分析やデータ活用を進めてみてから解ることが多い傾向もあります。
よってDWHの活用のためには以下のような特性を実現するデータ連携ツールが必要になってきます。
多種多様なシステムやデータに「つなぐ」ことができる
様々な社内システム、あちこちで使われている形式もまちまちなExcelファイル、導入した様々なクラウド、多種多様なデータやシステムに連携できる能力が必要になります。
十分に高い処理性能
分析用のデータは過去から蓄積されたデータなど、データサイズが大きいことが良くあります。大量のデータも高速に処理できる必要があります。簡易な便利ツールでは不十分で、本格的な利用ができる手段が必要にあります。
様々な処理の自動化
データを取得してDWHに流し込む定期的な処理の自動化、DWH上でデータを整える作業、例えばDWH上に溜まったデータを機械学習に流し込んで処理し予測結果を業務に自動反映させるなど、自動化手段として活用できる手段が望まれます。
業務の現場が自分で使える使いやすさ
データの利活用では、ITシステムに求めることを事前に分析しにくいことがあります。データを集めて分析し、そこから気付きを得ることを繰り返すことになるためです。
分析して解ったことがあったとします。追加でこういうデータ分析を行いたいが、そのためには追加で新たなデータが必要になるとか、解ったことを業務の成果にするためにはこういう自動連携処理を実現する必要があるとか、そういうことはよくあるはずです。 このように「何か気がつくたび」に、「ITの改修を依頼して待つ必要が生じる」のではデータ活用は効率的に進みません。かといって、これらを手作業で頑張ってはデータの雑用まみれになってしまってやはり進まなくなります。
さらには、このような気付きはIT側の専門家ではなく「業務に詳しい人」の方が得意です。よって、彼らが自ら取り組みを進められることも望まれます。
よってデータ利活用をうまく進めるためには、どのようにデータ連携するかを現場で迅速に作り替えられること、さらには業務やビジネスの現状やニーズについて良くわかっている人の主導で取り組めることが望まれることになります。
GUIのみでデータ連携を自在に開発できるノーコードやローコードのツールがあれば、現場がこのようなニーズを自ら迅速に解決し、データ活用を効率的に進めることができます。
関係するキーワード(さらに理解するために)
- ETL
- 昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
- BIツール
- データを様々な分析軸で集計・分析できるツールです。データを分析し、分析結果を得る手段であり、分析結果をグラフなどで見やすい形でレポートにしてくれる機能などがあります。
- データレイク
- データメッシュ
- オブジェクトストレージ
- iPaaS
- 様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのことをiPaaSと呼びます。
- ノーコード/ローコード
DataSpiderの評価版・無料オンラインセミナー
当社で開発販売しているデータ連携ツール「DataSpider」は、ETLとしての機能も備えており、DWHの利活用をささえる手段として多数の利用実績もあるデータ連携ツールです。
通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発でき、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」「業務の現場が自分で使える使いやすさ(プログラマではなくても十分に使える)」を備えています。
データ活用のみならず、クラウド活用などの様々なIT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。
無料体験版や、無償で実際使ってみることができるオンラインセミナーも開催しておりますので、ぜひ一度お試しいただけますと幸いです。
用語集 コラム一覧
英数字・記号
- 2025年の崖
- 5G
- AI
- API【詳細版】
- API基盤・APIマネジメント【詳細版】
- BCP
- BI
- BPR
- CCPA(カリフォルニア州消費者プライバシー法)【詳細版】
- Chain-of-Thoughtプロンプティング【詳細版】
- ChatGPT(Chat Generative Pre-trained Transformer)【詳細版】
- CRM
- CX
- D2C
- DBaaS
- DevOps
- DWH【詳細版】
- DX認定
- DX銘柄
- DXレポート
- EAI【詳細版】
- EDI
- EDINET【詳細版】
- ERP
- ETL【詳細版】
- Excel連携【詳細版】
- Few-shotプロンプティング / Few-shot Learning【詳細版】
- FIPS140【詳細版】
- FTP
- GDPR(EU一般データ保護規則)【詳細版】
- Generated Knowledgeプロンプティング(知識生成プロンプティング)【詳細版】
- GIGAスクール構想
- GUI
- IaaS【詳細版】
- IoT
- iPaaS【詳細版】
- MaaS
- MDM
- MFT(Managed File Transfer)【詳細版】
- MJ+(行政事務標準文字)【詳細版】
- NFT
- NoSQL【詳細版】
- OCR
- PaaS【詳細版】
- PCI DSS【詳細版】
- PoC
- REST API(Representational State Transfer API)【詳細版】
- RFID
- RPA
- SaaS(Software as a Service)【詳細版】
- SaaS連携【詳細版】
- SDGs
- Self-translateプロンプティング /「英語で考えてから日本語で答えてください」【詳細版】
- SFA
- SOC(System and Organization Controls)【詳細版】
- Society 5.0
- STEM教育
- The Flipped Interaction Pattern(解らないことがあったら聞いてください)【詳細版】
- UI
- UX
- VUCA
- Web3
- XaaS(SaaS、PaaS、IaaSなど)【詳細版】
- XML
- ZStandard(可逆データ圧縮アルゴリズム)【詳細版】
あ行
- アバター
- 暗号資産
- アルゴリズム / 計算複雑性理論(computational complexity theory) / P / NP 【詳細版】
- イーサリアム
- エラスティック(弾力性・伸縮自在)【詳細版】
- オートスケール
- オープンデータ(open data)【詳細版】
- オンプレミス【詳細版】
か行
- カーボンニュートラル
- 仮想化
- ガバメントクラウド【詳細版】
- 可用性
- 完全性
- 機械学習【詳細版】
- 基幹システム
- 機密性
- キャッシュレス決済
- 共通鍵暗号 / DES / AES(Advanced Encryption Standard)【詳細版】
- 業務自動化
- クラウド
- クラウド移行
- クラウドネイティブ【詳細版】
- クラウドファースト
- クラウド連携【詳細版】
- 検索拡張生成(RAG:Retrieval Augmented Generation)【詳細版】
- コンテキスト内学習(ICL: In-Context Learning)【詳細版】
- コンテナ【詳細版】
- コンテナオーケストレーション【詳細版】
さ行
- サーバレス(FaaS)【詳細版】
- サイロ化【詳細版】
- サブスクリプション
- サプライチェーンマネジメント
- シンギュラリティ
- シングルサインオン(SSO:Single Sign On)【詳細版】
- スケーラブル(スケールアップ/スケールダウン)【詳細版】
- スケールアウト
- スケールイン
- スマートシティ
- スマートファクトリー
- スモールスタート(small start)【詳細版】
- 生成AI(Generative AI)【詳細版】
- セルフサービスBI(ITのセルフサービス化)【詳細版】
- 疎結合【詳細版】
た行
- 大規模言語モデル(LLM:Large Language Model)【詳細版】
- ディープラーニング
- データ移行
- データカタログ
- データ活用
- データガバナンス
- データ管理
- データサイエンティスト
- データドリブン
- データ分析
- データベース
- データマート
- データマイニング
- データモデリング
- データリネージ
- データレイク【詳細版】
- データ連携 / データ連携基盤【詳細版】
- デジタイゼーション
- デジタライゼーション
- デジタルツイン
- デジタルディスラプション
- デジタルトランスフォーメーション
- デッドロック/ deadlock【詳細版】
- テレワーク
- 転移学習(transfer learning)【詳細版】
- 電子決済
- 電子署名【詳細版】
な行
は行
- ハイブリッドクラウド
- バッチ処理
- 非構造化データ
- ビッグデータ
- ファイル連携【詳細版】
- ファインチューニング【詳細版】
- プライベートクラウド
- ブロックチェーン
- プロンプトテンプレート【詳細版】
- ベクトル化 / エンベディング(Embedding)【詳細版】
- ベクトルデータベース(Vector database)【詳細版】
ま行
や行
ら行
- リープフロッグ現象(leapfrogging)【詳細版】
- 量子コンピュータ
- ルート最適化ソリューション
- レガシーシステム / レガシー連携【詳細版】
- ローコード開発(Low-code development)【詳細版】
- ロールプレイプロンプティング / Role-Play Prompting【詳細版】
