LIFIT

LIFIT(ライフィット)とは、株式会社ターボデータラボラトリーが開発し、販売しているオンメモリ型データ処理エンジンDayDa.Labooに接続するための、スプレットシート型データベース接続クライアントソフトである。

Oracle DatabaseにおけるSQL*PlusにあたるGUIアプリケーションである。

特性

特性(GUI側) 
 「お化けエクセル」と一部で評されるようにMicrosoft Excelと似たような操作感覚。(若干違う箇所もあり)
 操作オペレーションがマクロログとして,GUI上に生成・表示される。又自動出力ログとして記録される。
 マクロログを使って実行することにより、Microsoft Excelの「マクロの自動記録・実行」と同様な処理が可能。
 Javaで作成されたGUIである。
 DayDa.Labooエンジンとの接続タイプには、「Nタイプ」「Sタイプ」の二種類が存在する。

特性(DAYDA.Labooエンジン側) 
 x64(Win64)版のみ「共有メモリ」というJOB間テーブル共有機能がある。
 操作行がMicrosoft Excelに比べ著しく多く(データ操作行は200万以上)、また
 Microsoft Excelより高速に計算処理を行うことができる。
 エンジン処理自体が高速な為、実行結果をリアルタイムに確認しながら操作を行うことができる。(思考を途切れさせない)

GUI的にできること・できないこと

できること 
 専用データ形式を使わないのであれば、基本的にCSVを読込んでクレンジング処理してCSVを再出力する用途に使われる。
 1操作ごとに1LIFITマクロが生成される。(操作オペレーションが完全に再現される)
 GUI上に生成・表示されたLIFIYマクロは、LIFIT上で編集・ファイル保存することができる。
 保存済みLIFITマクロファイルをコマンドライン引数として、コマンドライン実行を行うことができる。
 コマンドライン実行時にマクロ実行エラーが発生した場合、エラーコードを出力するので、それに基づいてバッチ連携処理を組むことができる。
 カンマ区切り、TAB区切りのCSVを読み込んで処理を行うことができる。(GUIに操作ビューが存在)
 ODBCIOⅡプラグインを追加する事によりMicrosoft SQL ServerとOracle Databaseとの連携が可能。

ODBCIOⅡプラグイン 
 他のデータベースと連携するためのLIFITの追加オプション製品。
 Microsoft SQL ServerとOracle Database上のテーブルに対してインポートまたはエクスポートを行うことができる。

できないこと 
 SQLを使うことができない。
 固定長のファイル読込をエンジン側はサポートしているが、GUIに操作ビューが存在しない。
 グラフを作成、表示する事や、印刷ができない。。
 マクロファイルの文法が、VBAのような構造化プログラミングに適した形式ではない。
 コマンドライン実行時の終了コードが、正常終了(0)と異常終了(-1)のみ。(異常発生時は自動出力ログの解析が前提)
 エラー発生時に、単体で障害メール等を送信してユーザーにエラーを通知する機能はない。
 実行時のエラーログが、自動出力ログ上に混合出力されているので障害分析がしづらい。

LIFITマクロ(ファイル)の特徴・制限 
 頭から順に再生する直列羅列形式。
 基本的にDayDa.Labooのエンジンを操作するマクロのみ用意されている。
 ユーザ独自のマクロを作成することができない。
 BASICのような関数コールの記述ができない
 FOR、WHILE、IF文等の制御系マクロが存在しない。
 変数(単純変数・COBOLで使用されるような構造体変数)を別途宣言したり、使うことができない。
 変数が使えないので、変数を引数としたマクロ実行ができない。
 (文法的制限に関しては、Java生成機能である程度代用できるとのこと)

各タイプの特徴

NタイプとSタイプの相違 
 Sタイプ:ローカルフルアクセス
 Nタイプ:指定ディレクトリのみ(セキュリティ設定ファイルの設定に依存)

サーバー版DayDa.Labooエンジンの特徴 
サーバー版DayDa.LabooエンジンはSタイプに比べ
　処理行が多い。
　計算処理で使用されるCPU数が多い。
　計算処理で使用されるメモリ数が多い。
　同時接続数が多い。
という特徴がある。

新製品(200709版)と旧製品(2006版)との差異 
 マウスの操作履歴がそのままデバッグ済みのJavaプログラムとなり、PC上でバッチプログラムとして実行できる。
 GUIアプリケーションの動作の高速化(マルチスレッド対応)
 GUI操作周り・表示の改善(D&D読込等)
 コンソールに実行状況出力するexeを別途提供(eclipseのeclipsec.exeのようなもの)
 新規Lifitマクロの追加(下位互換はあるが、上位互換はない)

脚注 

データベース接続クライアント