Microsoftが「One Microsoft」として組織改編に着手して以来、「One」はコードネームやコンセプトによく登場している。たとえば「OneSync」「OneCore」「OneStore」「OneGet」、そして「OneNet」がある。
OneNetは1年以上前から開発されているが、初耳という方もいるかもしれない。Microsoftは先に、OneNetを「Prajna」というコードネームに変更した。
Prajnaは、分散型関数型プログラミングプラットフォームの構築を目指すMicrosoft Researchプロジェクトだ。ビッグデータ解析を利用するためのクラウドサービスを構築したいというユーザー向けと位置付けている。Microsoft Researchのクラウドコンピューティングおよびストレージ(CCS)グループは以下のように説明している。
Prajnaは.NET上のSDKセットであり、開発者はこれを利用して迅速にクラウドサービスのプロトタイプを構築したり、クラウドサービスに対する自分のモバイルアプリを書くことができる。Sparkに似たインタラクティブなインメモリ分散ビッグデータ分析機能も備わっている。
Prajnaの関数型プログラミングコンポーネントは、.NETの関数型プログラミング言語であるF#と関係がある。Microsoftが先に掲示した求人情報から伺えるように、PrajnaはF#で書かれており、あらゆる.NET言語で使用できる。
この求人情報では、Prajnaはリアルタイムのインメモリデータ分析機能で、Sparkに似ている(が.NETプラットフォーム上で動く)が、さらにプログラマーがクラウドサービスを簡単に構築、実装でき、モバイルアプリ内でコンシュームし、簡単に分散型アプリケーションを構築する(例えば分散型インメモリキーバリューストア)ことができる、などと書かれている。
Prajnaプロジェクトの研究者による要約では、Prajna/OneNetをSparkと同様に分散型の関数プログラミングプラットフォームと位置付けている。しかし、MicrosoftのチームではPrajnaは「マルチクラスタの分散型プログラミングが可能であり、管理されているコードとされていないコードの両方が動き、ジョブの間でインメモリのデータを共有でき、データフローをプッシュできる」といった機能により、Sparkを超えた分散型関数プログラミングモデルを実現するとしている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。