Why you should think about moving analytics from batch to real-timeの翻訳です。
2023年1月10日
アナリティクスをバッチからリアルタイムに移行することを考えるべき理由
バッチ分析のデメリット、リアルタイムに切り替えるメリット、リアルタイム分析をサポートする技術スタックの導入方法についてご紹介します。
過去10年間のテクノロジーの進歩により、企業はリアルタイムデータのパワーを活用できるようになりました。しかし、451 Researchのデータによると、80%以上の企業が顧客の期待に応えるためにはリアルタイム企業への変革が不可欠と回答している一方で、リアルタイム顧客体験のためにプロセスを最適化しているのはわずか12%に過ぎない。
リアルタイム・データは、単に「あれば便利」なものではなく、企業が「今すぐ」経済で生き残るための必須アイテムなのだ。例えば、給与計算や請求書作成には、通常、定期的に大量のトランザクションを処理する必要がある。バッチ処理によって、企業は給与計算のトランザクションをリアルタイムで個別に処理するのではなく、1つのバッチで効率的に処理することができる。しかし、継続的なデータの取得と分析が本当に重要なケースでは、リアルタイムに切り替える企業が増えている。
この記事では、バッチ分析とリアルタイム分析を評価し、バッチ処理からリアルタイムへの切り替えが有用である理由と、従来の技術スタックからリアルタイム分析をサポートする技術スタックへの移行方法について見ていきます。
さっそく見ていきましょう。
バッチ処理の問題点
バッチ分析とは、一定期間保存された大量のデータを処理・分析することを指す。例えば、企業は四半期ごとや月ごとに財務報告書を処理します。
しかし、コンピュータの性能が向上するにつれ、バッチシステムはデータの配信をますます高速化し、最初は数週間単位、次に数日単位、そして数時間単位で行うようになりました。バッチ・データ処理では、データの最新状態が反映されない可能性があるため、データの不整合が発生する可能性がある。例えば、データベースを更新するために夜間にバッチ処理が実行された場合、日中にデータに加えられた変更は、次のバッチ処理が実行されるまで更新されたデータベースに反映されない。
ほとんどすべての場合において、来週答えが出ることよりも、今答えが出ることの方が価値がある。
実際、データは数ミリ秒やマイクロ秒前のものであっても、その価値を失うことがある。金融商品を例にとれば、現在の価格をナノ秒単位で知っておくことは価値がある。
今日最も重要なのは、データの鮮度、レイテンシー、そして価値である。私たちは、データが発生した時点でデータを必要とするようになりました。つまり、今やリアルタイムが当たり前なのです。[Apache Kafka®](https://aiven.io/blog/streaming-data-analytics-in-the-real-world)のような新しいテクノロジーが、従来の抽出、変換、ロード(ETL)プロセスに取って代わりました。企業が膨大な量のデータをほぼリアルタイムで配信できるようになった今、バッチ処理や配信の遅延は必要なくなった。
ここまで来たのだから、ユーザー・エクスペリエンスやカスタマー・エクスペリエンスに関しては、もう後戻りはできない。ほぼすべての業界がリアルタイムの意思決定を必要としている今、分析に時間がかかる余地はますます少なくなっている。
かつてリアルタイムはバッチの特殊版だったが、バッチはリアルタイムの特殊版になりつつある。そして、リアルタイム・アナリティクスを活用しないことにはリスクがある。
バッチ分析からリアルタイム分析への移行が良い理由
弾力性のあるデータパイプラインの構築
私たちはリアルタイム分析に依存するようになったため、弾力性は絶対的に重要である。リアルタイム・データ・パイプラインは基本的に弾力性があり、障害が発生しても容易に適応できる。リアルタイムのデータ処理は技術的に難しいが、リアルタイムの計算を変更するのははるかに簡単だ。
バッチの場合、マスターファイルが最新でない可能性があり、失敗すると危険だ。タイプミスのような些細なミスでも、バッチ処理を停止させる可能性がある。数時間データを収集し、1つのバッチが失敗すれば、次のバッチは2倍のサイズになる。マシンがすべてのデータを保存するのに十分な大きさでない場合、マシンをスケールアップする必要があるが、これはかなりカオスになりかねない。
リアルタイムであれば、情報は常に最新であり、異常の発見もはるかに容易である。リアルタイム・アナリティクスのおかげで、企業は受動的なリスク軽減から能動的なリスク管理へと移行しつつある。例えば、不正のシグナルをリアルタイムで検知し、不正取引の完了を阻止することができる。
リアルタイムに切り替えることで、データの正確性と安全性をより信頼できるようになります。もちろん、処理時間も短縮されます。
競合他社はすでにリアルタイム化の波に乗っている
ひとたび企業がリアルタイムの波に乗れば、他の企業はそれに追いつかなければならない。好むと好まざるとにかかわらず、リアルタイムは世界の進む方向だ。2025年までに、全データの30%近くがリアルタイムで消費されるようになり、その変革はすでに始まっている。
ヘンリー・フォードの有名な言葉を聞いたことがあるだろう。リアルタイムに移行しないということは、"馬にこだわる "と言っているに等しい。バッチにこだわるということは、必要以上に厳しい戦いを選ぶということだ。
リアルタイム分析に移行することで、競争上の優位性を獲得し、ビジネスの成長につながる新たな発見をすることができる。
効率が飛躍的に向上します。
リアルタイム・アナリティクスを利用している企業では、効率が大幅に向上しています。
リアルタイムシステムがなければ、フードデリバリーアプリも、ギグエコノミーも、Uberもなかっただろう。リアルタイム・システムがなければ、フード・デリバリー・アプリもギグ・エコノミーもウーバーもなかっただろう。確かに、明日のタクシーを注文するのは素晴らしいことだが、必要なときにすぐに注文するのとはわけが違う。
リアルタイム分析があれば、倉庫はオペレーションを合理化し、商品の状態を監視することができる。工場が誤ったタイミングで設備や原材料を切らすことがないようにし、機械がオーバーヒートしそうなタイミングを予測することで、仕事量を別の工場に振り向けることができる。
例えば、医薬品のサプライチェーンで、ある製品がドイツで品切れになっていることに気づいたとしよう。スイスでの余剰を後から知るのではなく、リアルタイム分析によって、ドイツで必要になった瞬間に製品をドイツに送ることができる。
効率性という点では、リアルタイム分析の力はほぼすべての業界にメリットをもたらします。
収益の向上
State of the Data Race 2022レポートによると、テクノロジー・リーダーの71%が、収益の伸びをリアルタイムのデータに直接結びつけることができることに同意している。
バッチ処理では先行投資が少なくて済むが、リアルタイムでは取り込み前にデータを集約して結合するため、ストレージや処理が少なくて済み、企業は実際にコストを削減できる。また、リアルタイムではサーバーレス・コンピューティングを実行することができ、必要なときにだけ計算時間の料金を支払うことができる。AWS Lambda®のようなツールを使えば、クラッシュしたりリソースを過剰にプロビジョニングしたりすることなく、コストを削減し、需要のピーク時にアプリケーションを実行することができる。
リアルタイムの主なコストは、それを設定するための機会費用であり、投資に対するリターンは莫大なものになる可能性がある。
例えば大手決済会社は、リアルタイム分析によって、不正行為によって失われる可能性のある収益を1日あたり数百万ドル削減している。Eコマース企業はまた、パーソナライズされたレコメンデーションによって平均カート・トランザクション・サイズを拡大し、リマインダーEメールによって放棄されたカートの数を減らすことができる。
今日のデータ主導の生産ラインでは、1秒でも無駄にすると何百万ものコストがかかります。例えば、鍛造の生産ラインであれば、意思決定に時間がかかることは許されません。金属設備は熱いままでなければならず、冷めれば1秒あたり何百万ドルもの損失になる。間違った判断をして、10分間生産を停止しなければならなくなり、データ収集の遅れによって突然何億ドルもの損失を被るような事態は避けたい。
データアナリストが仕事をうまくこなせるようにする
リアルタイム・データは、データ・アナリストに、彼らが扱っているデータのより完全で正確なイメージを与える。
データを分析し、その結果を共有することを仕事とする優秀な人材を、年間何千時間、何百万ドルもかけて雇用しているのであれば、なぜ20分ごとにしか状況を検討できないように制限する必要があるのだろうか?
変革がやってくる
さまざまな業界で成功を収めている企業は、変革戦略の一環としてマネージド・データ・プラットフォームをどのように活用しているのだろうか。彼らがどのようにビジネスや技術的な課題を解決したのか、電子書籍でご覧ください。
バッチ分析からリアルタイム分析への移行方法
バッチ分析からリアルタイム分析に移行しても、何も失うことはない。バッチとリアルタイムを交換するわけではありません。その代わり、リアルタイムシステムでより良い状態からスタートすることになり、必要であればいつでもバッチシステムを追加することができます。
リアルタイム分析パイプラインへの切り替えを行うには、Apache Kafka®、Apache Flink®、ClickHouse®(KFC)などのオープンソースツールを使用します。KFCスタックにより、バッチETLであれリアルタイム・メトリクスであれ、データを最大限に活用するための堅牢でスケーラブルなアーキテクチャを構築することができます。
リアルタイムツールを使用することで、データをClickHouseのようなデータベース管理システム(DBMS)に非正規化し、結合されたデータに高速でアクセスできるようにすることができる。
他の多くのツールもリアルタイムの方向に進んでいる。例えば、Materializeは分散型ストリーミング・データベースを提供しており、アプリケーション、ビジネス機能、その他のデータ製品にリアルタイム・データを即座に広く採用することを可能にしている。イスラエルのスタートアップ企業であるFireboltは、ビッグデータや粒度の細かいデータに対して、秒以下の高度な同時分析体験を提供することを可能にしている。
結局のところ、リアルタイムへの移行には、単に新しいツールを採用するだけでは不十分だ。考え方を変える必要がある。企業はデータ・アーキテクチャを近代化し、人のスピードではなく機械のスピードで動くようにする必要がある。
リアルタイムの潮流は高まり続ける
インターネットが誕生した当初、一過性の流行に過ぎない、あるいは大げさなアイデアに過ぎず、消えてしまうだろうと考える人もいた。しかし、現在の状況を見てみよう。
同じことがリアルタイム分析でも起こっている。
リアルタイムのテクノロジーは間違いなく今後数年で変化していくだろうが、そのプロセス自体がなくなることはない。むしろ、さらに高速化するために進化し続けるだろう。
さて、あなたは時代に取り残されるのか、それともリアルタイムに切り替えるのか?
すでにApache Kafka®をお使いですか?
ストリーミング・データを単に移動させるのではなく、分析する必要がある理由をお読みください。
Aivenと私たちのサービスに関する最新ニュースや、オープンソースに関するさまざまな情報を入手するには、月刊ニュースレターを購読してください!Aivenに関する日々のニュースは、LinkedInとTwitterのフィードでご覧いただけます。
サービスのアップデート情報を知りたい方は、変更履歴をご覧ください。