Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

早く、安く、うまくシステムを刷新! 驚異的なパフォーマンスを誇るユニケージ開発手法【デブサミ2019夏】

【C-8】はやい・やすい・うまく動くシェルスクリプトの極意

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2019/10/18 12:00

 ユニケージ開発手法は、Unix系OSにおいてコマンドとシェルスクリプトでシステムを開発する手法である。Unix系OSの基本機能のみを使用して、高速にデータ処理を実行できる。ユニバーサル・シェル・プログラミング研究所はこの手法の商標権を持ち、かつ独自コマンドの開発を続けている企業だ。同社 SI統括部長の井上祐一氏が、ユニケージ開発技法の持つ利点をデモンストレーションを交えながら解説した。

目次
有限会社ユニバーサル・シェル・プログラミング研究所 SI統括部長 井上祐一氏
有限会社ユニバーサル・シェル・プログラミング研究所 SI統括部長 井上祐一氏

実装が用意。かつパフォーマンスに優れるユニケージ開発手法

 ユニケージ開発手法は、データをテキストファイルで持ち、単機能のコマンドをパイプラインやリダイレクトなどと組み合わせてデータ処理を行うことに特徴がある。

 Unix系OSが持つ既存コマンドでは処理ができなかったり、コンピューターの計算コストが高くなったりしてしまう場合には、新規の独自コマンドが作成される。独自コマンドの種類や仕様の管理を行っているのが、ユニバーサル・シェル・プログラミング研究所である。

 「データを扱いながら実際にコマンドを打って実演するほうが、会場のみなさまにユニケージ開発手法の利点が伝わりやすいでしょう。まずはデモンストレーションを実施します」

 内容は「全国にチェーン展開しているスーパーマーケットの運営本部に、30店舗から売上データが集められたと仮定。それらのデータから、商品カテゴリーごとに売数、売上、粗利を集計して、帳票を作成する。売上データは1000万件および1億件」というものだ。

デモンストレーションで示されたユニケージ開発の例
デモンストレーションで示されたユニケージ開発の例

 この条件だけを聞くと「プログラムの実装は複雑になるのでは」「データ件数が多いため、処理完了までに時間がかかるのでは」と考える方もいるかもしれない。しかし、ユニケージ開発手法を用いれば、上図のようにわずか15行でプログラムを記述できる。そして、デモンストレーション内で1億件のデータに対してかかった処理時間はわずか6.7秒程度。驚異的なパフォーマンスの良さだ。

 「過去にユニケージ開発手法を導入してくださったお客さまのシステムでも、かなりの処理高速化が実現できています」

 そう語り、井上氏は導入事例を提示する。例えば同社の顧客であるテプコシステムズ(東京電力グループ)は、メーターデータ管理システムと営業料金システムの接続部分のバッチ処理において、ユニケージ開発手法を導入したことで従来の56倍の高速化を達成。また、稼働統計処理は従来の720倍の高速化を達成したという。目をみはる改善である。

 「レガシーなプログラムは、歴史があるからこそデータ量が多かったり、プログラムの書き方が良くなかったりして、処理に時間がかかってしまうことがあります。

 コンピューターのハード部分を置き換えるのは簡単ですが、それによって改善できるパフォーマンスには限界があるでしょう。だからこそ『ユニケージ開発手法を用いてもっと速くしませんか』という提案をお客さまにはさせていただいております」


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2019夏】セッションレポート

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5