アスター・データ・システム社(リンク)はこのほど、同社のnCluster(リンク)データベースの構成要素であるAster In-Database MapReduce(リンク)を発表した。
MapReduceについては、InfoQでも長時間議論がなされてきた(参考記事1・英語)(参考記事2・英語)。これは、元々はGoogleのエンジニアたち(リンク)によって膨大なデータセットを処理するスケーラブルなアプローチとして紹介されたプログラミングモデルである。
アスター社はnClusterデータベースを超並列処理型(MPP)データベースであるとしている。nClusterの並列構造は同社のウェブサイトで以下のように説明されている。
Aster nClusterは、3つの異なるノードクラス(クイーンおよびワーカー、ローダー)からなる独自の重層的なnCluster構造上に構築されています。この3層設計は分析処理に対して明確に役割を分離し、これをカプセル化します。各層は作業負荷の特性に対応して個別にかつ追加的に変化させることができます。特性とは、必要に応じて、キャパシティを付加(ワーカー)、帯域幅をロード(ローダー)、同時処理(クイーン)することを指します。Aster nClusterに実装されたMapReduceによって、データベース内のMapReduce計算の実行が同じ構造を使ってできることになる。
標準SQL照会のための超並列実行環境と同様、Aster nClusterは、並行データ分析とデータベース内変換のためのフレキシブルなMapReduce機能を実施する機能を加えています。Aster nCluster In-Database MapReduceの各機能は、シンプルで記述しやすく、SQL文内にシームレスに統合されています。これらは基礎となるデータを処理し、インプットをするために、SQL照会に依存しています。この機能は、こうした入力データを手続き的に処理し、SQL照会にさらに消費される、あるいはデータベース内のテーブルに書き込めるようなアウトプットを出すことが可能です。
SQL/MRは、アスター社が導入した特別なSQL MapReduce機能のライブラリである。nClusterプラットフォーム内でMapReduceアルゴリズムを呼び出すために使うことができる。アスター社は、ポリモーフィック型機能とダイナミックタイピングをサポートし、MapReduce calculationsは、JavaやPython、C++などの言語で開発が可能だ。
In-Database Map ReduceとnClusterに関する詳しい情報は、アスター・データ・システム社のウェブサイトで入手可能(リンク) 。