はじめに
こんにちは。
前回は「新しくログを作成してみる」という話でした。
※第1回は
こちらから
※第2回は
こちらから
今回は
「DWH(データ・ウェア・ハウス)を検討してみる」という話です。
例として大規模なECサイトを運営していると仮定します。
前回と違って「大規模な」という文言がついています。
DWHは大規模なデータでないとその実力を発揮できないからです。
ではDWHを導入するべきか否かも含めて論じていければと思います。
DWH(データ・ウェア・ハウス)とは
DWHはデータを蓄積する、利用するためのシステムです。
データを蓄積するということでは一般的なデータベースと同じように思われる方も多いでしょう。
DWHは大量のデータを蓄積すること、それを集計することに特化しています。
一般的なデータベースではデータに対して更新や削除などの処理が頻繁に走ることが考慮されています。
しかしDWHではデータに対して更新や削除が頻繁に行われることは考慮されておらず、
データはひたすら蓄積されていくものとしてみなされています。
そしてデータ数が数億、数十億というオーダーになっても、検索に対してデータを素早く必ず返すように設計されています。
これがDWHの最大のメリットになります。
またDWHには今まで蓄積してきたログをまとめてインポートする方法もセットになっています。
前回、前々回で蓄積してきたログは無駄になることはありません。
それらを別のログと結合することにより新たな価値を発見することもできます。
更にfluentdなどから直接ログをインポートすることも可能なので、リアルタイムでログを集計することも可能です。
DWHのコストについて
いざDWHの導入を検討しようとしても漠然として何を考慮にいれればよいか難しいことが多いです。
まずはコストがどれくらいかかるのかを把握してみましょう。
どのようなDWHを利用するにしろ非常にコストがかかります。
またそのコストはどれくらいになるのか不明なケースが多いです。
個人的な肌感として本格的にDWHを導入し運用する場合、
年間に数百万円以上のコストがDWHのシステムにかかると感じています。
そのシステムの管理には人的なリソースも当然必要になります。
更にDWHはあるだけでは意味がなく、ちゃんと利用しなければなりません。
例えばDWHを利用したKPIの管理システムを作るとなるとかなりの工数がかかります。
最近ではDWHと連動したBIツールを利用することも可能ですが、それでもBIツールの利用料金を払う必要があります。
DWHの導入にはかなりの費用がかかるのが分かっていただけましたでしょうか?
しかし蓄積してきたログから日々のKPIを追うことができる環境はそれ以上の価値を生む可能性があるのです。
DWHを導入する基準
ではどのくらいのデータが蓄積されたらDWHの導入を考えたほうがいいでしょうか?
1種類のログのデータが1億件を超えることを想定されるあたりが転換点の一つであると思います。
1億件と聞くと大量と思われるかもしれません。
しかし1000日で1億件達成すると仮定すると1日あたり10万件の蓄積となります。
1ユーザが1日に10件の同種のアクションログを残すと仮定すると1日あたり1万ユーザで達成してしまいます。
1日のログの件数は運営しているコンテンツのユーザ数とログを落とす頻度で決定されることが多いため、
ユーザ数を把握することは非常に大切になります。
1億件が目安となる理由については、一般的なデータベースとDWHの差を実感できるためです。
一般的なデータベースではしっかりとしたテーブルのチューニングが必要となる件数の集計に対しても
DWHは負荷なく素早く対応することが可能です。
DWHを導入しない場合は?
コスト、サービスの規模の観点からDWHの導入を見送ることも選択の1つであると思います。
そのような場合はどうすればいいでしょうか?
一般的なデータベースをログ集計に転用してしまうのも手です。
インデックスやシャーディングなどをしっかり対応すればある程度の件数のデータならばさばくことも可能です。
しかしDWHとは違うため、色々注意することも多いです。
以前、私も一般的なデータベースにログを保存していた経験があり、その際には以下の様な問題が置きました。
ログの取得をし始めた当初は大した件数ではなかったのですが、
システムの運用を続けていくにつれて件数が肥大化してしまいました。
そして1つのテーブルに数億件を超えるログが貯められてしまい、データにアクセスすることができなくなってしました。
ログの数はユーザ数や稼働日数によるので事前にしっかりと見積もる必要があります。
またあまりにも負荷の高い集計を行ってしまったがためにシステムにも負荷をかけてしまうということがありました。
DWHはシステムと直接繋がっていないことが多いため、このようなことは起こりえないのですが、
一般的なデータベースは直接つながっているケースが大半のためです。
一般的なデータベースをDWH代わりに利用することもできますが、やはり色々注意することが多い印象です。
おわりに
3回にわたっての連載でしたが、データ分析を社内で始めるためのお手伝いになれば幸いです。
さらに応用的な分析についてはまた後ほど紹介できるかと思います。
DATUM STUDIO株式会社では『DWH』を使った分析基盤の構築も行っています。
興味を持たれた場合はご連絡お願いいたします。
<<
お問い合わせ窓口>>