ビッグデータを加速させるオープンソース技術を紐解く! ~ ソフトウェア基盤:Hadoop ~

PAK86_codeing20140517_TP_V

2015年インターネット業界だけでなく、流通・小売り業、製造業、サービス業と様々な業種において「ビッグデータ活用」が積極的に議論され、実際に着手しはじめた事業者が多かった1年であったように思います。このビックデータ活用を加速させていくための技術は様々ありますが、中でもこれまで商用利用するには技術力・スキル・ノウハウともに扱いづらいと言われて来たオープンソースが注目を集め、GitHubなどエンジニア・SEの横連携ツールの後押しもあり、実際に行いたいビッグデータ活用に対してもオープンソースを用いた処理や運用が加速したように思います。今回は「ビックデータを加速させるオープンソース技術を紐解く!」と題して、注目を集めた技術を3回にわたって解説いたします。

◎オープンソースを使うメリット

オープンソースとは、そもそもどんな技術なのでしょうか?また、活用するにあたってメリットはあるのでしょうか?

オープンソースとは文字通り、「ソースをオープン(公開)している技術」のことを指します。基本的には無料で配布され、誰でも自由に利用・改修が可能です。多くのエンジニアによって、日々開発・改良されていくため、比較的短い期間で安定度の高いプログラムが提供されるようになったり、セキュリティが向上したりします。

bigdata0203_v1

無料で配られるオープンソースですが、開発者の著作権は守られます。よって、安心して実用にあわせながら改良を重ねることが実現できるのです。

◎Hadoop概要

Hadoop(ハドゥープ)は、ソフトウェア基盤の1種になります。データを複数のサーバに分散し、並列して処理することが特徴です。テラバイト、ペタバイト級大容量データの分析などを高速処理できるため、「ビッグデータ」活用における主要技術としてその活用が注目されるようになっています。もともとはGoogle社が社内活用していた2つの基盤技術プログラムをオープンソースとして実装したものが活用されています。

  • GFS (Google File System : Google社の分散ファイルシステム)
  • Google MapReduce (Google社での分散処理技術)

 

サービスや事業が成長し、ある程度のPVやUU、処理数を超えてくると、複数台のサーバマシンで同時にその処理を行い、レスポンシビリティを一定に保つ必要がでてきます。しかし、複数のサーバマシンに処理を分散させるためには、該当プロセス同士の通信、監視、障害時の対応なども考慮し、安全であり、かつ安定した運用を叶える実装方法も同時に考えなければならず、プログラマにとってスケーラビリティがあがればあがるほど、その難易度は増すばかり。

しかし、Hadoopはそういった面倒くさい処理を一手に引き受けてくれ、プログラマが懸案事項と感じている事項を気にすることなく、行うべき処理をサポートしてくれるのです。このようにHadoopを利用するシーンとしては、スケーラビリティがポイントとなりますし、今注目されているクラウドサービス(稼働量にあわせた料金体系を持つデータセンター・サーバ)を利用していくためには、この分散処理運用がしっかりと実装されていることで、コストパフォーマンスにも影響を及ぼします。

Pocket

コメント