SHOEISHA iD

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

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

Developers Summit 2023 セッションレポート(AD)

バッチ処理に代わる「ニアリアルタイム処理」とは? 作成方法から実践方法まで解説!

【9-B-5】バッチモダナイゼーション ニアリアルタイムってどんなもん?

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

現場で使える! 実践的なニアリアルタイム処理とは

 では、ニアリアルタイム処理は現場でどのように使うことが求められるのか。暮林氏は実践的なニアリアルタイム処理の使い方についても紹介してくれた。

 例えば画面入力をベースにバッチが夜間に動くケースでは、本来画面を直したいところだが、事情があって手が出せないことで、バッチが処理できないデータがデータベースに入る。それが1件ならよいが、複数あるとバッチのリカバリ回数が増え、突き抜けてしまうことがある。「このような問題は、オンラインとバッチの間にニアリアルタイム処理を挟むことで解決できる」と暮林氏。画面からデータベースに入れるまでは先と同じだが、DebeziumというChange Data Captureを介して、Kafkaに入れるところからがニアリアルタイム処理となる。エラー判定をするマイクロサービスを起動し、エラーと判定されると入力した人に何らかの形で通知をする。またチェックして問題がなかったデータはそのままデータに書き戻し、バッチ処理を進める。実際にこの仕組みのデモを実施したところ、10秒から15秒ぐらいで処理が終了。「画面を直すよりも気軽にマイクロサービスとして実装できるのでお勧めです」(暮林氏)

図3. オンラインとバッチの間にニアリアルタイム処理を挟む
図3. オンラインとバッチの間にニアリアルタイム処理を挟む

 「ニアリアルタイム処理はリアルタイム処理と勘違いするほどの速度で処理できる」と暮林氏。だがバッチ処理をニアリアルタイム処理に置き換えるにはやはり投資が必要になるので、費用対効果を示す必要がある。「だがIT的な視点だけでは詰まってしまうので、ビジネス的な視点も入れて計算すること」と暮林氏はアドバイスする。

 まずはビジネス的な視点での計算は次のように行う。年間あたりの平均損害額は、年間売上×障害発生率(%)×機械損失率(%)と計算式で表される。例えば10億円の売上がある企業で、障害発生率が頻繁(週1)、それにより10%の顧客が離れてしまうケースでは、10億円×14.3%×10%=1430万円という計算式となる。5年でもとをとるなら損益分岐は1430×5=7150万円となる。

 IT的な視点の計算式は、年間あたりの平均損害=年間売上×対売上IT投資割合×ブロック率となる。日本情報システムユーザー協会「企業IT動向調査報告書2021」によると、対売上IT投資割合の平均は1%なので、先の企業の場合、10億円×1%×20%=200万円となる。こちらも5年でもとをとるなら損益分岐は200万円×5=1000万円となる。つまり損益分岐は合計8150万円ということだ。「投資対効果という点でも経営層を説得できる要素があるのか。その点も考えて、ニアリアルタイム処理を検討してほしい」(暮林氏)

関連リンク

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

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

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

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

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

提供:レッドハット株式会社

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17482 2023/04/20 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング