Event Horizonのコマンドライン画面の例(出典:バンクラックジャパン)
Event Horizonのコマンドライン画面の例(出典:バンクラックジャパン)
[画像のクリックで拡大表示]
Event Horizonのコマンドライン生成ウィザードの画面
Event Horizonのコマンドライン生成ウィザードの画面
[画像のクリックで拡大表示]

 バンクラックジャパンの「Event Horizon」は、大容量データの分析処理をWindowsのバッチファイルで実行できるようにするコマンド群である。検索/抽出、ソート、文字列置換、ファイル操作、などを行う汎用コマンドを、全部で32個提供する。これらを組み合わせることによって、大抵のデータ分析処理ができるようになる。

 Windows XP以降のコマンドプロンプトで動作する。32個のコマンドは、いずれもC言語で開発されており、外部の共有ライブラリーなどは使わない。

 最大の特徴は、高速に検索できること。普通のパソコンでも、秒速で1億件(テラバイト級)のデータ検索が可能としている。同社が公開しているデモンストレーション動画では、1億1800万件(202Gバイト)のCSVデータからデータを12秒で抽出した。

 高速検索の仕組みの一つは、元データであるテキストファイル(CSV)を対象に検索インデックスを作成し、インデックスを用いて検索すること。このほか、ファイルをメモリー空間にマッピングすることによってI/O性能を高めるメモリーマップトファイルの仕組みも採用した。

 インデックスは、元データのCSVファイルごとに、指定したフォルダーに隠しファイルとして保存する。インデックスの作成方法も細かく指定できる。インデックスのサイズが2Gバイトを超える場合は、読み込みを高速化するため、2Gバイト単位で複数ファイルに分割して保存する。一般には、SSD(ソリッドステートドライブ)などの高速なドライブにインデックスを置いて運用する。

 コマンドライン(コマンドに与える引数)を自動生成するためのGUIウィザードも提供する。インデックスのありかや検索条件など、各種のパラメーターをGUIで指定するだけで、コマンドラインを生成できる。これをクリップボードにコピーして、コマンドプロンプトで実行したり、バッチファイルに貼り付けたりできる。

 Event Horizonに含まれる全32個のコマンドは表の通り。

Event Horizonを構成するコマンド一覧
NO.コマンド名機能概要
1CalculateDate.exe日数の加減算を行い標準出力に出力する
2RandomString.exeパスワード用の乱数を標準出力に出力する
3SelectTextRecord.exeテキストファイルから条件指定でレコードを抽出する
4SelectLineRecord.exeファイルの指定行のレコードを抽出する
5SelectCsvRecord.exeCSVファイルから条件指定でレコードを抽出する
6CreateIndex.exeCSVファイルに高速検索用のインデックスを作成する
7SelectIdxRecord.exeインデックス付のCSVファイルから条件指定でレコードを抽出する
8ReplaceCsvFile.exeCSVファイルの文字列を置換する
9ReplaceBulkCsvCSVファイルの文字列を一括置換する
10ReplaceTextFile.exeテキストファイルの文字列を置換する
11ReplaceBulkText.exeテキストファイルの文字列を一括置換する
12HanToZenTextFile.exeテキストファイルの半角文字を全角文字に変換する
13ZenToHanTextFile.exeテキストファイルの全角文字を半角文字に変換する
14HanToZenCsvFile.exeCSVファイルの半角文字を全角文字に変換する
15ZenToHanCsvFile.exeCSVファイルの全角文字を半角文字に変換する
16EditCsvRecord.exeCSVファイルのレイアウトを変換する
17EditTextRecord.exeテキストファイルのレイアウトを変換する
18FixedRecord.exeファイルのレコードを固定長にする
改行コードのないファイルに改行コードを挿入する
19MaskCsvFile.exeCSVファイルの任意の項目にマスクを設定する
20MatchCsvRecord.exe2つのCSVファイルをマッチングして一致するレコードを抽出する
21UnMatchCsvRecord.exe2つのCSVファイルをマッチングして一致しないレコードを抽出する
22SortCsvFile.exeCSVファイルのソートを行う
23SortTextFile.exeテキストファイルのソートを行う
24SortBinFile.exe改行のないファイルをブロック単位にソートを行う
25CompresCsvRecord.exeCSVファイルの項目を指定してレコードを集計する
26ServerAccept.exeクライアントから実行依頼されたコマンドを実行する
27ClientRequest.exeクライアントからサーバーに「コマンド実行」を依頼する
28SplitFile.exeテキストファイルを分割する
29DeleteFile.exe期間を指定してフォルダー配下のファイルを一括削除する
30DumpFile.exeファイルの16進数ダンプを表示する
31RecordCount.exeテキストファイルのレコード数をカウントする
32FolderCopy.exeフォルダーからフォルダーにファイルとフォルダー構造を複写する
Event Horizonの概要
用途と機能大量のCSV/テキストデータを高速に検索するためのWindowsコマンド群
提供形態ソフトウエア。Windowsコマンドプロンプト上で動作する
主な使い方コマンドを組み合わせたバッチファイルを作成する。これにより、様々なデータ分析処理ができるようになる
提供するコマンドの数32個
価格(税別)50万円
発表日2014年10月3日
出荷日2014年10月14日