ODP (Open Data Platform Initiative)

odp_006_R

ODP (Open Data Platform Initiative)

Open Data Platform Initiative は、2015年2月にHortonworks、Pivotal、IBM、GE、SAS、EMC、VMwareなどがオープンソースソフトウェア「Apache Hadoop」を基盤にしたビッグデータ テクノロジーを普及・促進することを目指して設立した団体です。団体はプラチナメンバー、ゴールドメンバー、シルバーメンバーで構成されているようです。プラチナ(Platinum)メンバーにはPivotal、ゼネラル・エレクトリック (GE)、Hortonworks 、IBM、Infosys、SAS、大手国際通信企業およびゴールド(Gold)メンバーにはAltiScale、Capgemini、CenturyLink、EMC、Splunk、Verizon Enterprise Solutions、Teradata、VMwareなどの名前があります。シルバーメンバーにはNEC、東芝などの名前があります。

2015年9月に東芝インダストリアルICTソリューション社がOpen Data Platform initiative(ODP)に、設立メンバーとして加入すると発表しました。報道によれば、ODPへの加入を機に、同社が社会インフラシステム向けの大規模・高速データ管理用として開発したデータベース管理システム「GridStore」のソースコードを来年2月から公開するとのことです。

Hadoopとは

odp_005Open Data Platform Initiativeが普及をめざすHadoopとは、PCサーバーを多数つなげて、莫大な情報を処理できるようにした大規模分散計算フレームワークで、オープンソースのソフトウェアプロジェクトを支援するApacheソフトウェア財団のプロジェクトとして開発されています。そのため、Apache Hadoopと表記することもあります。

Hadoop は、GoogleによるMapReduce(Simplified Data Processing on Large Clusters)およびGoogle File System(GFS)の論文をベースに開発されたもので、YahooやFacebook、Amazonなど多くの企業で採用され、無料で使用することができます。ちなみに、Hadoopは、Hadoopの開発者の一人であるDoug Cutting氏の娘が象のぬいぐるみにつけた名前だそうです。

Hadoopの特徴

Hadoopの特徴は分散ということばで表せるようです。つまり、「データの分散」と「処理の分散」です。「HDFS((Hadoop Distributed File System)」という分散ファイルシステムと「MapReduce」というデータ処理フレームワークの2つのコンポーネントです。

HDFSは、ネームノード(NameNode)とデータノード(DataNode)で構成されています。 NameNodeはファイルシステムのネームスペースとクラスタ内に保管されたファイルへのアクセスやファイルの位置情報などを管理します。DataNodeは、ファイルを一定サイズで分割したデータをブロックとして保存します。また、耐障害性の設定の数に応じて、ブロックは、複数のDataNodeに書き込まれて保存します。

MapReduceは、ジョブと呼ばれる単位でデータを処理する機能です。マスターノードのJobTrackerとスレーブノードのTaskTrackerで構成されています。ジョブは複数のタスクに分かれてスレーブノードで処理されますが、マスターノードは、ジョブの管理やスレーブノードへのタスクの割り当て、などを担っています。故障によって実行中の処理ができなくなった場合、マスターノードは他のスレーブノードにタスクを割り当て、継続して実行するようにします。

また、データ処理の特徴として「データローカリティ」と呼ばれるものがあります。動作しているスレーブノードのサーバと同居しているDataNodeが管理するデータを割り当てるというものです。これにより、サーバ間の通信量が抑えられ、データロック機構で待たされるということも生じなくなるそうです。

 odp_002_R odp_003_R

(「超入門 大規模分散処理フレームワーク Hadoop」SRA OSS, Inc. 日本支社技術開発部 エンジニア 長田 悠吾 https://www.sraoss.co.jp/event_seminar/2012/20120316_Hadoop_OSC2012TokyoSpring_sraoss.pdfより)

NTTデータは次のようにHadoop分散処理基盤の特徴をまとめています。

特長1 単純なサーバの追加によってスケーラビリティを実現

・リソースが不足する場合、サーバを追加することで容量および処理性能の向上が可能

・サーバの追加はHadoopクラスタの停止を必要としない。

・アプリケーションや基盤設計に影響を及ぼすことなく、新たにスケーラビリティを得ることができる。

特長2 非定型データの格納を想定した処理の柔軟性を実現

・HDFSにデータを格納する際にスキーマ定義が不要なため、事前の設計の手間を低減することができる。

特長3 コモディティ品の利用を前提とした基盤構成・耐障害性

・Hadoop環境を構成するサーバは、専用ハードウェアや特別なスペックを必要としないので、基盤構築の費用を抑えられる。

・ Hadoopは故障発生を前提としたアーキテクチャであるため、任意のサーバが故障しても システム全体として問題なく動作する。

(NTTデータのHadoopソリューション http://oss.nttdata.co.jp/hadoop/hadoop.html より要約)

ポストHadoop

Hadoopよりも高速かつ高機能な分散処理基盤としてSparkが注目されつつあるようです。Scala言語で実装されたオープンソースの分散処理プラットフォームです。Sparkは、高速で多目的に対応する大規模データプロセッシングのためのエンジンであり、Hadoop/MapReduceと比較して、インメモリ環境で100倍、ディスク環境で10倍高速に処理できるとスパークのサイトには書かれています。

odp_004(https://spark.apache.org/より)

Sparkははじめカリフォルニア大学バークレー校のAMPLab(Algorithms, Machines, and People Lab)で開発が始まり、現在はバークレー出身のベンチャー企業であるデータブリックス(Databricks)が開発の主体となっています。開発にはクラウデラ(Cloudera)やマップアール・テクノロジーズ(MapR Technologies)、ホートンワークス(Hortonworks)といったHadoopベンダーが支援をしてきていましたが、2015年6月に、IBMがSparkを「今後10年間で最も重要なオープンソースプロジェクト」と位置づけ、注力を強めていくことを表明しました。日本でも、NTTデータやNECなどがSparkの研究開発に早くから注力しているようです。今後の動きが注目されます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です