データ量が刻々と増加する世界では、従来のデータベースはもはや適切な解決策ではなくなり、現代の多くの企業では、データ量と速度に対抗するために、データレイクのようなビッグデータ技術が採用されています。Apache Hadoopなどのデータレイクインフラは、大容量のデータを処理できるようにデザインされており、このようなインフラストラクチャには、データ保護強化のためのデータレプリケーションや、データ処理の高速化のためのマルチノードコンピューティングなどの利点があります。データレイクは、常に更新されるデータからの分析やインサイトをもたらすことによって意思決定能力が向上したことから、必要不可欠なものとなりました。
大抵の組織では、増大するユーザーベースのデータ管理ソリューションとしてデータレイクが導入されていますが、それには障害や課題があります。本記事では、多くのビッグデータ構想が失敗する理由と、ビッグデータ構想に意欲的な企業がそのような失敗を回避する方法についてお話します。ただその前に、まずはデータレイクを構成するさまざまなコンポーネントについて理解しておきましょう。
データレイクアーキテクチャと成熟度の解説
データウェアハウスと同様に、データレイクは情報を段階的に処理します。各処理層はそれぞれ異なる責任を負っており、データサイエンティストやアナリストが機械学習やダッシュボード作成に利用できるように、データを形成する役割を担っています。それでは、各層について詳しく見ていきましょう。
取込層
取込層は、データレイクパイプラインの最初のステップであり、複数のデータソースからデータレイクプラットフォームに生データを読み込む役割を担います。チャネルには構造化データ、非構造化データ、半構造化データが含まれ、バッチとストリーミングデータに対応します。
取り込まれたデータには以下が含まれます:
- テーブル
- 画像
- 動画
- カメラやIoTデバイスからの生のデータ
取込層は、データレイクインフラ内のデータをすべて集めることを目的としています。
蒸留層
蒸留層では、最初の層で取り込まれた生データに構造が与えられ、複数のテーブルにまたがるフォーマットやスキーマに適切な確定がきちんとなされるように、情報には何らかの処理が施されています。この層では、データそのものではなく、メタデータに対して変換を行います。
処理層
処理層では、保存されたデータが改良されます。構造化されたデータに対してユーザー定義のクエリが実行され、そのクエリは、ダッシュボードや人工知能など、データサイエンスやデータ分析のユースケースに対応するデータを準備します。
クエリは重要なデータセットを抽出し、特定のビジネス問題に利用され、処理層は要件に応じて、リアルタイムまたはバッチでデータを処理することができます。
インサイト層
インサイト層は、処理層で行われたすべての処理の出力として機能することから、処理層と非常によく似ています。ビジネス価値の評価や高度な分析のために、ここでデータが抽出されてダッシュボードに表示されます。
関連記事: Data Lake vs Data Warehouse: 7 Critical Differences
統一操作層
統一操作層は、すべてのプロセスが円滑に進むのを確認することによるシステム管理を行い、すべてのシステムを正常に保つために監査と熟練度のモニタリングを行います。
データレイクが成長する主な要因
データレイクは、貴重なインサイトの抽出や、データに基づいた意思決定のために、ビジネスの成長には欠かせないものですが、正しく行われなければ、悪夢のような運用と維持を強いられることになります。データレイクの構築と成長がうまくいくには、特定の重要な要因があり、以下が含まれたデータレイクは必要不可欠です:
-
強力なデータパイプライン:データレイクへのデータ取り込みを管理するパイプライン。ETLパイプラインがうまく開発されていないと、データは矛盾や不正確さに悩まされることになります。
-
効率的で費用対効果の高いハードウェア:データストレージは、その膨大な量から慎重な扱いが必要であり、ストレージのハードウェアは、ビッグデータを処理するのに十分な性能があり、かつ予算に見合ったものである必要があります。
-
データの安全性:サイバー攻撃やデータ漏洩は、知名度の高いデータベースでよく発生しています。データレイクには組織の全データが格納されているため、攻撃されたら一発です。特に医療などの重要な領域では、セキュリティは大きな懸念です。
- 定められたビジネス価値:データレイクの構築には、人材や資金などのリソースが必要であり、データレイクをどのように活用したいのかが計画されていなければ、これらの努力はすべて無駄になってしまいます。望ましい結果を計画し、それに基づいてインフラストラクチャを構築することが望ましいのです。
データレイクの課題
データレイクの導入には失敗がつきものです。実際2017年には、ビッグデータプロジェクトの約85%が失敗しているというガートナー社の報告があり、この失敗は、多くの場合、「調査と計画の甘さ」が原因です。ここでは、組織がデータレイクを構築する際に見落としてしまう重要な要素について見ていきましょう。
質の高い労働力の不足
データレイクのインフラはデータウェアハウスとは大きく異なるため、従来のデータエンジニアには、通常このタスクに対する技術的な能力はなく、経験の浅い人材は、ビッグデータの概念を理解するためにさらなる時間と労力を必要とします。組織には独自のスキルと経験を持つ従業員が必要ですが、なかなかすぐには見つかりません。
非構造化・半構造化データ問題
非構造化・半構造化データは、画像、動画、文字、音声ファイルなどで構成されており、テーブル形式のデータとは違って解釈や論理的な保存が困難なため、このようなデータを扱うのは至難の業です。なので非構造化・半構造化データを扱う前に、ビジネス上のニーズや意図を把握し、それに応じて取り込みや保存のパイプラインをデザインすることが重要です。
品質/リアルタイムのデータ統合の欠如
データレイクのデザインは、様々なタイプのデータに対応することを目的としており、ETLパイプラインと適切なデータ統合がなければ不可能です。さらにリアルタイムのデータ統合は、情報に基づいた迅速な意思決定を行うために不可欠であり、これがなければデータレイクは何の役にも立ちません。
ガバナンスとセキュリティの欠如
ガバナンスの欠如は、メタデータ情報のギャップにつながります。ほとんどの組織では、テーブルのメタデータを保存していないため、データレイクを構成しにくくなっています。セキュリティもビッグデータのエコシステムには欠かせない要素であり、セキュリティが確保されていないと、企業は大きな損失を被ることになります。
関連記事: What Well-Designed Data Lake Architecture Looks Like
データレイクが「データ沼」になることの是非
ガバナンスの欠如とデータの質の低さが、データレイクを「沼」に変えてしまいます。データ沼は、構造が不規則で、メタデータ情報が欠落しており、信じられないようなソースから発信されたデータで構成されています。このようなデータは信頼できないため、データ沼は組織にとって益となるよりも害となることが多いのです。
データ サイエンティストやアナリストは、これらを分析ツール、視覚化、またはAI(人工知能)に利用できないため、データ沼は実質的に役に立ちません。不正確なデータは、信頼性の低い結果やインサイトをもたらすのです。データ沼からのどのような出力も、企業を誤った方向に導くことになり、さらに、データレイクの構築には金銭的なコストがかかるため、データ沼は財務的な損失をもたらすことになります。
さらに読む: Turning Your Data Lake Into a Data Swamp
データレイクを構築し、課題を克服するためのベストプラクティス
データレイクのデザインは、生産性とポジティブな結果を確実に出すために、正しいプラクティスに従う必要があります。以下にそのようなプラクティスをいくつかご紹介します。
データガバナンス
ビッグデータ領域に踏み込む前に、まずは社内のワークフローとパイプラインの修正に取り組みましょう。データの取り込みポイントを特定し、SQLクエリを最適化して再構築することで、より良いETLパイプラインを構築することができます。社内のワークフローが再構築されれば、メタデータなどの関連情報をすべて集め、組織全体で均等なデータ構造を維持することができるようになります。同じ原則は、非構造化データや半構造化データを収集するタッチポイントにも適用できます。
また、組織はデータの統合と品質を向上させるために、データサイロの特定と除去に取り組むのもいいでしょう。
プライバシー
一般的な顧客データ、医療記録、財務記録を扱う企業にとって、データプライバシーは不可欠です。このような記録をデータレイクにダンプする前に、必要な詳細情報がすべて非識別化またはスキップされていることを確認しましょう。
セキュリティ
サイバー事故の回避には、データセキュリティのためのインフラストラクチャーの構築に取り組みましょう。それには訓練を受けたサイバーセキュリティの専門家の雇用や、クラウドセキュリティツールによるコスト増が必要になるかもしれませんが、投資に見合うだけの価値があるのです。レイクへのアクセス権を与える一方で、当事者は必要なデータにしかアクセスできないようにしましょう。
DevOps
DevOpsの手順で、データレイクのための信頼性の高いワークフローが確立されます。どのようなデータをどのような経路でレイクに入れるかを確定することは極めて重要であり、これによって、正確で信頼できる完全な情報を運び、このようなメトリクスを将来確実に維持できるようにする強力なパイプラインが作られます。
自動化
企業データはとても速く収集されるため、手動でダンプ操作を行うことは現実的ではありません。組織は、新しいデータが確定された構造内に自動的に配置されるように、取り込みプロセスの自動化に取り組む必要があります。これを実現するには、データレイクを適切なディレクトリ構造でデザインし、関連するデータをすべて同じグループ内に配置する必要があります。
AI(人工知能)とML(機械学習)
データレイクは、複数のユースケースに対応するデータを格納するデータプラットフォームです。このデータのほとんどはクリーニングして利用することができます。ただし、AIやMLには特有の要件があり、データは、機械学習エンジニアが人工知能アプリケーションに活用できる形式と構造で収集される必要があります。
関連記事:How to Make a Data Lake Worthwhile For Your Business
データ仮想化は強力なデータレイクの構築に有効か
データ仮想化(DV)で、データの移動や複製をすることなく、論理的なデータレイクの導入ができるようになります。 DV は、システム全体のすべてのデータソースに仮想統合層を提供してユーザーが対話して必要な情報を照会できるようにし、エンジニアは、データレイクのようにローカルまたはAzureやAWSのようなクラウドサービス上でデータ仮想化の実装ができます。
データ仮想化は、データレイクの煩わしさの多くを回避できるため、導入はよりシンプルになりますが、多くのデメリットがあります。データの増加に伴う拡張性がない、つまり仮想統合層は、データ管理の効率が悪いのです。一方データレイクには、データノードのレプリケーションによるデータ保護という利点があり、Hadoopなどのオープンソースツールによる高速な処理も可能です。
Integrate.ioでデータレイクを強化しよう
Integrate.ioには、データレイク構築の手順をスピードアップするためのデータ統合ソリューションがあります。当社のスケーラブルなデータインジェストのパイプラインにより、ユーザーは数回のクリックで数百のデータソースと接続することができ、それによって、データレイクの基盤が、強力で将来性のあるチャネル上に構築されることが保証されます。
Integrateは、ローカルのデータベースシステムや AWS S3 や Google Cloud Storage などのクラウドサービスへの接続が簡単です。つまり、データがどこに存在しても、データレイクに支障をきたさないということです。
データ統合ソリューションに関する専門的なご相談は、当社のエキスパートによる個別セッションをぜひ今すぐご予約ください。