ビッグデータ基盤の本番環境設計──セキュリティ管理とデータ管理を考察する:「ビッグデータプロジェクト」の進め方(4)(2/2 ページ)
本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から理解し、具体的に実践していくためのナレッジアーカイブです。今回は、ビッグデータ基盤における本番環境の設計で考慮すべき「セキュリティ管理」と「データ管理」の項目を解説します。
【4】データ管理
データ管理とは、データが何者であり、どのような品質のものであり、どのように作成されたのか、などのメタデータを管理することを指します。ここでは、HDFSのディレクトリ設計とDBのスキーマ設計、ビジネスメタデータとリネージの管理の3つに分けて説明します。
DBと記載していますが、ここではRDBMSのDBではなく、SQLエンジンなどが活用するHadoop上のスキーマを指していることに注意してください。
HDFSのディレクトリ設計
NASと同様に、構造的なディレクトリ設計にしないと、どこにどんなデータがあるかが分からなくなります。ビッグデータ基盤は多数のシステムが相乗りすることを前提としているので、ディレクトリ設計はより一層重要になってきます。
ディレクトリ設計に絶対の正解はありませんが、全くアイデアのない企業に対して、筆者は以下のような構成を提案しています。
/raw/<ドメイン名>/ /www.example.com/accesslog /www.data.go.jp/cao/pdf /refined/<ユースケース名>/ /public /master /meta /systemA /systemB /user/<ユーザ名>/
rawディレクトリは、全ての生データが投入されるディレクトリです。例えばwebのアクセスログや、未整理の転送データなどです。
第2階層のディレクトリはデータソースのドメインとします。これによって、どこからデータが流れ込んできたのかが明確になります。
このデータをETL処理によって変換し、refined(精製済み)ディレクトリに保存します。データを活用するユーザーはこのディレクトリにアクセスします。
refined以下のディレクトリはデータの属性によって分類するといいでしょう。例えば、公開データであればpublicに、システムAのデータであればsystemAなどにします。
そして、userディレクトリも作成しておきます。これがあれば、ユーザーがアドホックに分析をしたりデータ活用したりするときに役立ちます。想定される主なユーザーはデータサイエンティストでしょうが、データドリブンな組織作りが進んでいけば、いずれ社内の全ユーザーがアクセスする日も来るでしょう。このuserディレクトリはデフォルトで作成されるため、意識して作成する必要はありません。
DBのスキーマ設計
DBのスキーマ設計も絶対的な正解はありませんが、例えば以下のような構成が考えられます。
default(デフォルトDB) systemA user001
デフォルトDBであるdefaultは、一時的に作成したいテーブルなどのためにとっておきます。
システムごとに個別のスキーマが必要な場合は、systemAなど個別にDBを作成しておきます。
データサイエンティストなどのヘビーユーザーは自分のDBを欲しがるかもしれません。彼らのために専用のDBを用意してあげてもいいでしょう。
ビジネスメタデータ
HDFSのディレクトリやDBのスキーマ設計をうまく行ったとしても、これだけではビジネス上のメタデータを表すことはできません。
ビジネスメタデータとは、「業務の上での文脈」という意味となります。例えば、何度か例を出してきた「systemA」という名前は、「これをシステムAのデータとします」という説明がなければ、それが何を意味するかを理解できません。「systemAと書いてあるけれど、実は統合されたシステムBのデータも入っています」ということもあり得るのです。
データの品質などもビジネスメタデータに属します。データが一時的に作成されたものなのか、それとも単なるバックアップで最新のデータとずれているのか、などの情報はテーブル名などからは判別できません。
さらに、データの出どころも重要です。単に「営業集計データ」と書いてあっても、それが本当に正しいデータソースから取り出したものなのかは証明できません。実は最新のデータではない、古いバックアップデータに対してクエリを実行したものだとしたら、データを正しく分析できません。こうした情報を管理することも必要です。
なお、これらの情報はMicrosoft ExcelのスタイルシートやWikiなどで管理することも可能ですが、その管理は煩雑になるために、かなり苦しい運用となってしまうでしょう。ちなみに、Clouderaが提供するCloudera Navigatorには、こうしたメタデータを管理するための機能と、データの流れと出どころを可視化するデータリネージの機能を備えています(図2)。
今回のまとめ
今回は、非機能要求という観点で見たPoC環境と本番環境の違いと、本番環境の設計で考慮すべき4項目として「クラスタ管理」「リソース管理」「セキュリティ管理」「データ管理」を挙げ、リソース管理を除いた3つの項目の詳細を解説しました。
次回は、「データの投入」から「アプリケーションの開発」「システムのリリース」までを説明していきます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Hadoop+Hive検証環境を構築してみる
Hadoop HiveはHadoop上でSQLライクなクエリ操作が可能なDWH向けのプロダクトです。SQLに近い操作が可能なため、HBaseよりもデータベースに慣れ親しんだみなさんには使い勝手がいいかもしれません。本稿ではこのHiveの使い方とレビューを行っていきます。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。 - Hadoop+Embulk+Kibanaのデータ集計基盤によるデータ可視化と集計データを活用したキーワードサジェストの仕組み
リクルートの事例を基に、大規模BtoCサービスに求められる検索基盤はどう構築されるものなのか、どんな技術が採用されているのか、運用はどうなっているのかなどについて解説する連載。今回は、ログデータの分析および可視化の基盤を構成する5つの主なOSSや集計データを活用したキーワードサジェストの事例を紹介します。 - ビジネスアナリティクス、機械学習の進化とSASの新アーキテクチャ
統計解析、予測分析でリーダー的存在の米SASが、同社製品群の大部分を新アーキテクチャに移行すると、2016年4月に発表した。これを、ビジネスアナリティクスの世界全般における動向との関連で探る。 - Sparkのエンタープライズ対応が「成熟」――Clouderaが宣言
HadoopディストリビューターもあらためてSparkへの注力をアピール。既に800ノード超のSparkクラスターを運用するユーザーも存在するという。 - Hadoop用リアルタイムクエリエンジン Impalaのポテンシャルをレビューした
2012年10月24日に発表されたばかりのHadoop用リアルタイムクエリエンジンをいち早くレビュー。次期CDHに組み込まれる予定の新機能をどう使いこなす? - Hadoop用クエリエンジン「Impala」がついに一般公開に
「Hiveの10倍速い」クエリエンジンが一般公開に。最新の列指向データフォーマットなどにも対応している。