もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら:「ビッグデータプロジェクト」の進め方(1)(2/3 ページ)
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。
ビッグデータ基盤の用途
ビッグデータ基盤とは、その名の通りビッグデータを扱う基盤です。多くの場合、コモディティサーバを複数並べた「分散処理の基盤」となります。ビッグデータを扱うプロジェクトには、当然ですがこのビッグデータ基盤が不可欠です。
ビッグデータ基盤の構成要素は、大きく分けて「ストレージ」「リソース管理」「アプリケーション」の3種類です。そしてこれらは、「分散したシステム」として稼働させます。ビッグデータ基盤は、大きく分けて以下の4つの活用用途があります。
ビッグデータ基盤の用途
- (1)バッチ処理基盤として
- (2)業務システムのバックエンドデータベースとして
- (3)データ分析基盤として
- (4)データサイエンティスト用の基盤として
(1)バッチ処理基盤
バッチ処理基盤としての典型的な利用例は、データの整形やクレンジングなどのいわゆる「ETL(Extract/Transform/Load:抽出、変換、ロード)処理」や、日次データの集計などの「ビジネスレポートの作成」、そして「機械学習のモデリング」などでしょう。
ここ数年、クラウド上でHadoopを利用できるサービスが普及してきています。その大半はこうしたバッチ処理の基盤としての利用を想定しています。
(2)業務システムのバックエンドデータベース
業務システムのバックエンドデータベースとしての利用例は、IoTシステムにおける「リアルタイム異常検知」や、ECサイトにおける「リアルタイムリコメンドのための基盤」などです。
(3)データ分析基盤
データ分析基盤としての利用例は、大規模データに特化したBI(Business Intelligence)のためのバックエンドデータベースでしょう。
例えば今日のHadoopでは、ImpalaなどのインタラクティブSQLエンジンを活用することで、BIツールに直接接続してSQLを発行しても高速に動作させることが可能になっています。
(4)データサイエンティスト用の基盤
データサイエンティスト向けの基盤は少し特殊です。データサイエンティストは、社内で活用可能なあらゆるデータにアクセスし、それらを試行錯誤して分析して、ビジネスの知見を見つけ出すスペシャリストです。従って、アドホックなクエリを流すこともあれば、バッチ処理を行うこともあり、その行動や活用手段はさまざまです。彼らが自由にデータを扱い、知見を得られるようにするために必要な基盤を用意してあげる必要があります。
もっとも、1つの基盤=1つの用途と絞る必要はありません。むしろ、複数の用途を1つの基盤で行う=マルチテナント環境にすることによって、コストメリットが出てきます。これがビッグデータ活用の価値となります。
ただし、このように幾つかの用途が相乗りするマルチテナント環境となると、リソースの分離やセキュリティなどの課題も発生してきます。こういった課題をどのように解決するかは、連載の後半で説明する予定です。活用例の詳細は、筆者の執筆した記事「Hadoopの使い方のまとめ(2016年5月版)」もご覧ください。
参考:Clouderaのビッグデータ基盤について
ビッグデータ基盤について、例えばClouderaでは、Hadoopを中心としたOSSコンポーネントに、管理ソフトウェアを追加したビッグデータ基盤として「Cloudera Enterprise」を用意しています。Cloudera Enterpriseでは、ストレージに「Apache HDFS」「Apache HBase」「Apache Kudu」、リソース管理に「Apache Hadoop YARN(Yet Another Resource Navigator)」を採用しています。
アプリケーションは、ビッグデータを活用する用途別にさまざまなOSS(オープンソースソフトウェア)がそろっています。例えば、バッチ処理の「MapReduce」「Spark」、低レイテンシのSQLエンジンである「Impala」、全文検索エンジンの「Solr」、ストリーム処理の「Apache Spark Streaming(以下、Spark Streaming)」、機械学習の「Apache Spark MLlib(以下、MLlib)」などがこれに当たります。
この他、外部連携用のツールとして「Apache Sqoop(以下、Sqoop)」「Apache Flume(以下、Flume)」「Apache Kafka(以下、Kafka)」、クラスタ管理ソフトウェアの「Cloudera Manager」、データ管理ソフトウェアの「Cloudera Navigator」、クラウド管理ソフトウェアの「Cloudera Director」を合わせて、ビッグデータ基盤を構成しています(図1)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ビジネスアナリティクス、機械学習の進化とSASの新アーキテクチャ
統計解析、予測分析でリーダー的存在の米SASが、同社製品群の大部分を新アーキテクチャに移行すると、2016年4月に発表した。これを、ビジネスアナリティクスの世界全般における動向との関連で探る。 - Sparkのエンタープライズ対応が「成熟」――Clouderaが宣言
HadoopディストリビューターもあらためてSparkへの注力をアピール。既に800ノード超のSparkクラスターを運用するユーザーも存在するという。 - Hadoop用リアルタイムクエリエンジン Impalaのポテンシャルをレビューした
2012年10月24日に発表されたばかりのHadoop用リアルタイムクエリエンジンをいち早くレビュー。次期CDHに組み込まれる予定の新機能をどう使いこなす? - Hadoop用クエリエンジン「Impala」がついに一般公開に
「Hiveの10倍速い」クエリエンジンが一般公開に。最新の列指向データフォーマットなどにも対応している。