Erlangの最大の特徴は、分散システムの構築に特化している点だ(表1)。Erlangを採用する企業は、Erlangに付属するライブラリー「OTP」が99.9999999%(ナイン・ナイン)の稼働率を誇る点を評価して採用することが多い。

 Erlangは動的型付き言語であり、HaskellやScalaなど現在の関数型プログラミングの主流をなす静的型付き言語と比べると、関数型的な要素は少ないといわれている。このため、関数型であることを理由にErlangを選定したという企業はむしろ少ない。ただし、Erlangもコードを短くできるなど関数型の特徴は一定程度備えており、採用企業はその利点を実感している。

表1●Erlangの特徴と利用事例
表1●Erlangの特徴と利用事例

 楽天は分散ストレージシステム「LeoFS」をErlangで自社開発し、2012年7月にオープンソースとして公開した(LeoFSのサイト)。狙いは自社サービスのユーザー数増加に伴うデータ量の急増に対処することにある。大量のPCサーバーを利用することで、専用ストレージと比べて1ギガバイト当たり8分の1の価格で大容量ストレージを構成できるようになった(図1)。2012年中に楽天の各サービスに順次導入する予定だ。

図1●楽天の分散ストレージシステム「LeoFS」の概要
ゲートウエイとマネジャークラスター、ストレージクラスターの三つの部分からなる。Erlangで開発した
図1●楽天の分散ストレージシステム「LeoFS」の概要
[画像のクリックで拡大表示]