コンピュータシステム - 5.ソフトウェア - 5.オープンソースソフトウェア - 5.OSSの動向

Last Update : January 02 2021 16:00:22

     

a. OSS の動向

代表的なソフトウェアには、以下のようなものがある。

LAMP
OSSによるWebシステム構築のためのソフトウェア群、LAMPは、OSにLinux、WebサーバーにApache、DBMSにMySQL、スクリプト言語にPerl・PHP・Pythonを利用する。

LAPP
LAMPは、OSにLinux、WebサーバーにApache、DBMSにPostgreSQL、スクリプト言語にPerl・PHP・Pythonを利用する。

Perl
オープンソースのインタプリタ言語。Webアプリケーションで利用される。GNUライセンスで配布されている。

Python
オブジェクト指向言語のインタプリタ。コンパイルして実行することも可能。

Ruby
オブジェクト指向言語のインタプリタ。テキスト処理関係の能力が優れシンプルな文法でプログラミングしやすい。

MapReduce
クラスタコンピューター上で巨大なデータセットに対して効率的に分散処理するための処理方法のこと。Googleにより提唱された。
MapReduceでは、データの処理をmap処理とreduce処理の2段階に分けて行う。
map処理は、入力されたデータを受け取り、それを変換しkey-valueの形式で出力を行います。
処理中の個々のデータは他のデータへの処理に影響していないためMap処理は並列して複数同時実行が可能となっています。 このため、データの規模が大きくなっても複数のコンピュータで分散させて実行することが可能となっています。
Reduce処理ではMap処理で出力したkey-valueのペアのうち同じkeyを持つものを集約して処理を行います。 この処理では別々なコンピュータで処理されたMapでもkeyが同じであれば同一のReduceに集約された状態で実行されます。
Reduce処理も別なkeyを持つものは個々の処理には影響しないので分散させて並列で処理可能な仕組みになっています。
大規模なデータ処理を行う場合は、mapとreduceの処理内容を定義してMapReduceシステムに処理を依頼する。MapReduceシステムはデータを分割し、必要な数のコンピュータを使って並列にmapとreduceを実行し、処理結果を返す仕組みになっています。

Hadoop
Hadoopとは、MapReduceの仕組みを取り入れたソフトウェアのこと。
アメリカの非営利団体「Apacheソフトウェア団体」が提供しています。
大規模データの分散処理を支えるオープンソースのソフトウェアフレームワークであり、Javaで記述されています。
大きな特徴として、

  1. オープンソースミドルウェアである
  2. 膨大な量のデータを圧倒的に高速で処理できる
  3. サーバーが故障したときのためにデータの複製を作っておく



     

www.it-shikaku.jp