オルタナティブ・ブログ > 『ビジネス2.0』の視点 >

ICT、クラウドコンピューティングをビジネスそして日本の力に!

分散処理技術

»

クラウドの特長の1つとして、テラバイト、ペタバイト級の大量のデータを複数のサーバーに分散して、同時並列で高速かつ効率的に処理できることが挙げられます。それを実現するのが分散処理技術です。  

クラウドが登場する前は、大量のデータを処理するには高速なCPUと大容量メモリを搭載したサーバーが必要でした。分散処理技術とクラウドサービスを利用することで、データを並列で処理し、処理の負荷状況に応じてサーバーなどのリソースを増減できます。これにより、価格を抑えながら大量のデータを高速に処理することが可能です。

複数のサーバーを組み合わせて1つのコンピュータのように見せることを「クラスタリング」と呼びます。クラスタリング構成では、大量のデータ処理中にいずれかのサーバーで障害が発生した場合でも、別のサーバーに自動的に作業を割り当てて処理を継続できるといった高い耐障害性も備えています。

分散処理のデメリットとしては、システム全体の信頼性の低下や、ネットワークへの負荷が大きくなるといったことが挙げられます。  分散処理を実現する代表的なソフトウェアとして、オープンソースとして公開されている「Apache Hadoop」や「Apache Spark」があります。

Apache Hadoopは、1台のマスターサーバーと、その配下にある複数のスレーブサーバーで構成されます。マスターサーバーがデータの処理全体をコントロールし、スレーブサーバーが計算処理を行います。処理能力はスレーブサーバーの台数に比例して向上します。

Apache Sparkはメモリ内で処理を行います。Apache Hadoopが大量のデータのバッチ処理(ある程度まとまったデータを集めてから一括処理を行うこと)に適しているのに対して、Apache Sparkは機械学習のように同じデータを繰り返し処理する高度なデータ分析を高速に処理するのに適しています。

Apache Hadoopはビッグデータ分析などのデータサイエンスの領域での分析処理に、Apache Sparkはよりリアルタイム性が要求される機械学習に代表される高度なデータ分析に、といったように相互に補完しながら利用できます。

cloud1.jpg

Comment(0)