SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2019夏】セッションレポート(AD)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

次のページ
ユニケージ開発手法の基本思想

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2019夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11660 2019/10/18 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング