SHOEISHA iD

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

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

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

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

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

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

 処理量の変更で所定時間をオーバーする、データの反映が遅い…。バッチ処理にそんな悩みを抱えているものの、すべてのバッチ処理までモダナイゼーションするのは現実的ではないと考えている人も多い。レッドハット テクニカルセールス本部スペシャリストソリューションアーキテクトの暮林達也氏は改めて「バッチ処理は悪なのか」と問いかけ、課題を抱えているバッチ処理についてはニアリアルタイム処理への置き換えを推奨する。ニアリアルタイム処理とはどんなものか、その勘所を、デモを交えて解説した。

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

リアルタイムVSバッチではなく、処理時間に合わせて選択する

 バッチ処理とはそもそも悪なのか──。暮林氏のセッションはこの問いかけから始まった。バッチ処理が悪と見なされる風潮があるが、「もう少し広い視野で見直していきたい」と暮林氏は言う。

 そのために暮林氏が提案したのは「オーダー」という概念で考えること。オーダーは物理学や工学でしばしば使われる用語で、桁の大きさを把握するために使われる。例えば光の速さは「3.0×10の8乗」などと表すことができる。つまり光の速さのオーダーは「10の8乗」と言える。

 コンピュータの処理は種類によって求められるオーダーは異なる。例えばリアルタイム処理はWebやAPIなど即時応答が欲しい場合に用いられるので、1秒や0.1秒で処理が終わることが求められる。オーダーで表すと、「リアルタイム処理は10の-1乗や10のゼロ乗という世界が求められる」と暮林氏は説明する。対してバッチ処理は大量データを一定時間内に処理したい場合に用いられる。しかも夜間バッチなど、サイクルは日で回っていることが多く、動作時間では短いモノで数分単位、長いものだと数十時間に及ぶものあるなど、オーダーとしては非常に大きくなる。「10の3乗、4乗、5乗などのオーダーとなる」(暮林氏)

 リアルタイム処理とバッチ処理だけではなく、即時応答が不要で要求が入ってくれば即バッチが動いて結果を返すディレイドバッチ(ディレイドオンラインとも)という方法もある。ディレイドバッチの処理時間は分単位。オーダーとしては10の1乗~3乗で表される。さらにもう一つ、リアルタイム処理に近いが即時応答が不要で、要求受付のみ即時に行う必要があり、処理もなるべく速く行いたい場合に適しているのが、ニアリアルタイム処理である。「ニアリアルタイム処理は速い場合はリアルタイム処理と変わらないこともあるが、オーダーは10の0乗や10の1乗で表される」(暮林氏)

 オーダーで見れば分かるように、用途によっては最適な処理種別がある。それにもかかわらず、「リアルタイム処理ができないのならバッチ処理にするという方法論で選んでいたことが問題。そこから脱却し、目指す処理時間のオーダーに合わせて適切な処理形態を選ぶことが大事」と暮林氏は指摘する。

図1.処理種別のオーダー
図1.処理種別のオーダー

次のページ
ニアリアルタイム処理を作成する方法

関連リンク

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング