こんにちは!
データを分析するにはデータが必要…
とても当たり前のことですがそのデータと分析環境はどんな位置関係にあるのがベストだと思いますか?今日はそんなお話です。
データのゲートウェイ
分析に利用されるデータは通常データレイクだとかデータウェアハウスだとか、そういったデータを蓄えるためのシステムやストレージにありますよね。データ分析に限らずデータを利用するユーザーはそこからデータを取り出して利用する、というのが一般的な考え方でしょう。
そういった「ここを覗けばさしあたって必要なデータは全てあるはず」という環境をお持ちでなく未だ社内のあちらこちらに散らばったままという企業さんもたまにいらっしゃったりします。
ここにアクセスすれば必要なデータがすべて入手できるデータへのゲットウェイがある。一見するととても理想的なデータ活用環境が整っているように見えるこの状況も、実はまだ改善すべきポイントがあることはお分かりになりますでしょうか?
データの移動コスト
データを利用する際に特にボリュームの大きいデータを利用する際にはデータの移動コストはばかになりません。コストといってもそれは金銭的なコストではなく主に時間的なコストのことですけど。
ネットワークのスピードがどんどん向上しデータの移動なんてそんなに時間かかるの?という方もいらっしゃるかもしれませんが、利用すべきデータのボリュームもそれ以上に大きくなっています。
考えてもみてください。たかだか10Gbpsの回線で1TBのデータを転送しなければならないとか。ボタンをポチッとクリックしてから理論上どんなに早くデータ転送ができても10分以上その処理は返ってこない。忙しい現代人にはなかなかの苦痛だったりしますよね。
大ボリュームデータの処理
めでたくデータの移動が終了しました。じゃあ分析の処理を回してみよう!勇んで処理を開始しましたが処理は終了せず結果は返ってきません。とても大きなボリュームのデータを処理するとき次に登場する問題はこれです。
通常データ分析に使う環境、PythonやR、AI、その他の分析ツールが動作する環境は非常に大きなボリュームのデータを処理するのに適した環境とは言えません。ソフトウェアもそれが動作するハードウェアもそれを想定して作られたものではありませんから当然です。
それではどうしたらいいでしょう?
お気づきですね?データ分析環境には大ボリュームのデータを扱うことを想定して作られたソフトウェアとハードウェアがすでに含まれています。
そう、データウェアハウスです。データウェアハウスはもともと並列処理のような大きなボリュームのデータを高いパフォーマンスで処理できるようなソフトウェア・アーキテクチャを持っています。これをデータ分析に利用すれば非常に大きなボリュームのデータも簡単に処理することができます。それを目的として開発されたソフトウェアを使用しているのですから。
データ移動のコスト…
データウェアハウスの中で処理をするということは先ほどお話したデータ移動のコストも一気に解決されます。データ移動が必要ないのですから。
このようにデータ分析環境の要ともいえるデータウェアハウスの中でデータ処理を行うことは、
・ データの移動を行わなくていいのでコストがかからない
・ さらにデータを閉じた空間の中で扱うのでセキュリティも高い
・ 並列処理など大ボリュームデータを処理する仕組みを使用した高速処理
ができる最適な環境といえます。
ところが実はそういったことができるデータウェアハウス用データベースはそれほど多くもありません。
データウェアハウスを検討するときは、そのような
・ 統計分析処理が実行可能
・ AIモデルの推量などを実行できる
・ 分析に利用する言語のネイティブな記述でパフォーマンスが既存することなくデータ処理が可能
なソフトウェアであるという条件を必須のものとして加えてください。
きっと快適な分析環境を実現できますよ!