情シスさん,出番です
この記事を読んでいただきたい方
* ALZETA を使ってみたいなと思っている人
* ALZETA を使ってみたいんだけどとユーザーに言われたシステム担当の人
* ALZETA でのデータ処理に興味を持っている人
前回まで,業務で使えるデータ分析や事務データ処理の例を見てきました.Excel とは違うソフトを一つ覚えなければなりませんが,完全日本語対応ソフトということや,PM(処理モジュール)も設定に多数のパターンや階層構造がないので,覚え始めるのに抵抗はそれほどない!と感じてくだされば良いのですが.逆に,こんな簡単な PM ばかりで,所望のデータ処理ができるのか?という不安はおありかもしれません.その辺りはこの連載で掴んでいただけるようにご紹介内容を充実していきたいと思います.または,今すぐお手元の課題が解けるかどうかお知りになりたい方は,メールでお問い合わせください.
さて,ALZETA は現在のところ「契約すればダウンロードして使える」ソフトウェアではありません.使っていただくには,情報システム部門にご協力いただく必要があります(※).
※試用は別の方法がありますので,メールでお問い合わせください.
機能と仕組み
ALZETA は,表形式のデータを管理/加工するノーコードソフトウェアです.PC のブラウザで操作いただく Web アプリケーションの形式ですが,データの格納や処理は全てサーバー上で行う仕組みです.
サーバー1台で,データ処理/格納とか大丈夫なの?というご心配もあると思いますが,最近の OS のファイルシステム容量,最大ファイルサイズを確認してみてください.RHEL7(xfs)の場合,最大ファイルサイズ,最大ファイルシステムサイズともに 500TB です.画像や動画などのバイナリデータは対象ではありません(そういったデータは,オブジェクトストレージのような設備に収納すべきでしょう…)ので,B2C のネット取引を扱ったりするのでなければ,十分,と言えるのではないでしょうか?
処理するデータ
* ALZETA サーバーに PC からアップロードしたもの(Excel や CSV をアップロード可能)
* 外部システムからインポートしたもの(Oracle DB からの Table/View インポートは標準で対応.その他はカスタマイズで提供)
→いずれも,フラットファイル(タブ区切りテキスト)で ALZETA サーバー内に永続的にストアされます
→加工したデータは,フラットファイルで保存,または Excel/CSV 形式で保存して,ブラウザで PC にダウンロードが可能
→加工したデータをフラットファイルで保存した場合,それをさらに別の加工 JOB で処理可能
ユーザー認証と管理者ユーザー
* LDAP 連携によるユーザー認証が可能
* 各種 SSO 連携(Windows 統合認証,リバースプロキシ等)によるユーザー認証が可能
* 管理者ユーザーを設定可能で,管理者ユーザーがロール(後述),データ参照権限の設定を行います
ユーザーごとの区域/共有機能
* ユーザーごとに専用のデータ,JOB 格納領域(ディレクトリ)が用意されます
* ユーザーはロール(グループ)に属することができ,ロールでデータや JOB の共有が可能です(ロールごとに専用のデータ,JOB 格納領域が用意されます)
* 外部システムからインポートしたデータは,管理者がロールによるアクセス権限を設定可能です
ログ(管理者ユーザーが参照可能)
* ユーザーが JOB を作成,保存したこと
* ユーザーが JOB を実行したこと
* ユーザーが JOB をプレビュー実行(フローの処理内容を確認するために,フローを部分実行してその時点までのデータを画面で確認する.結果は残らない)したこと
* ユーザーが JOB を実行・プレビュー実行した時に,どの入力データを参照したか
* ユーザーが JOB を実行した結果,どの出力データを出力したか
* ユーザーがデータ(手許の CSV,Excel ファイル)をアップロードしたこと
* ユーザーがデータを(PC に)ダウンロードしたこと
* ユーザーがデータを削除したこと
サーバーの準備
対応 OS
ALZETA は原理的には各種 UNIX 系 OS 上で稼働可能ですが,現時点で対応している OS は,Red Hat 社 RHEL7 または RHEL8(いずれも x86_64 アーキテクチャ向け),あるいはその派生版です.
対応ハードウェア/VM
上記対応 OS が稼働する環境であれば,制限はありません.物理サーバー,各種 Hypervisor 上仮想サーバー,各種 IaaS クラウドサービスの仮想サーバー,いずれも問題ありません.
スペック
1コア CPU,1GB RAM という RHEL7/8 を稼働させる最低スペックハードウェア/VM でも稼働可能ですが,8コア以上のCPU,16GB 以上の RAM 容量を推奨します.とくに RAM は,ブロックキャッシュ/ファイルシステムキャッシュによる高速化が見込めるため,できるだけ大容量を推奨します.
データを自身で格納しますので,ディスク容量の見積もりを安全を見て行ってください.
運用
バックアップ
ALZETA にはバックアップ機能はありません.RHEL OS に対応したバックアップソフトウェアの導入をご検討ください(OS 標準の xfsdump でも可).
HA
ALZETA には HA 機能はありません.高可用性が求められる場合,物理サーバーの場合はコールドスタンバイを検討してください.仮想サーバーの場合は,仮想環境の HA 機能を援用してください.
ファイルシステム容量
ソフトウェアの性質上,運用しているとファイルシステム使用量が増加していきます.古いファイルの cron による自動削除等(それに伴う利用ルールの設定)をご検討ください.
外部データストアとの接続
ユーザーは,自分の手持ちの Excel や CSV だけでなく,会社の情報システム内部のデータをそれらと組み合わせて新しい知見を得ようとしています.また経営者も,そういうユーザーの活動によるビジネスイノベーションを期待しています.是非,ALZETA に RDB などの情報システムデータストアからデータをインポートできるようにしてください.Oracle DB であれば標準対応しています.その他のシステムからのインポートについても,IPOC にご相談いただければカスタマイズして可能にします.
動作原理
もっと内部の仕組みをお知りになりたいシステム担当者様向けに,もう一つ図を添付して説明を加えます.
* ユーザーはクライアント PC のブラウザ上で,データと PM を接続してフローの形の JOB を作成します
* これを実行またはプレビュー実行すると,ブラウザはサーバーに JOB 定義ファイル(JDF)を送信します
* サーバーは JDF を受け取ると,データと PM の接続関係を読み解いて,その処理定義に対応したシェルスクリプトを生成します
* そのシェルスクリプトは,PM ひとつひとつに対応したコマンドから成ります(2回目の記事でご説明した,コマンドによるフラットファイルの処理がまさにこれです)
* 2回目の記事では,コマンドは全て中間ファイルを出力していましたが,ここでは可能な限りパイプでコマンド間を接続します.こうすることにより,ファイル I/O 負荷を減少させることができるとともに,パイプで接続された複数のコマンドが並列実行され,CPU 資源を有効活用してくれます
* 生成したシェルスクリプトを実行して,ユーザーの意図したデータ加工を行って,ファイルシステムに出力します
最後の,パイプのお話を強調するために,絵の左右にオレンジ色の土管のマークによる説明を配していますが,これは…すでに目にされていると思います.そう,IPOC の会社のロゴマークがこれなんです.上から (I)nput データが降りてきて,右から (C)ontrol データを食わせ,データを (P)rocess して,(O)utput する.これが我々 IPOC というわけです.
まとめ
今回は,システム担当者の方以外には少しつまらない話になってしまいました.またシステム担当者の方も「また変なシステムの面倒が増えてしまうのかよー」と,いうことでなかなか気乗りのしないお話かと思います.次回は,データを活用される従業員の方とシステム担当者の方が ALZETA で Win-Win になれる,そんなお話をしていきたいと思います.