第2章. リアルタイム分析エコシステム
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
前章では、イベント、ストリーム、さまざまなタイプのリアルタイム分析システムなど、リアルタイム分析の基礎について説明した。 リアルタイム分析は、複数のツール、テクノロジー、プラクティスから構成される広大なドメインである。 リアルタイム分析アプリケーションを構築する前に、リアルタイム分析を取り巻くテクノロジー・エコシステムを特定することが重要である。関連するツールやテクノロジーは、ストリーミング・データから洞察を得るために連携する。
この章では、過去にさかのぼり、第一世代のリアルタイム分析システム、その黎明期、Lambdaアーキテクチャの影響、それらが直面した課題について説明する。そして、現代のリアルタイム分析エコシステム(または現代のストリーミングスタック)、その構成、将来の見通しについて説明する。
この章が終わる頃には、将来のデータインフラ製品を分析し、それらがリアルタイム分析アプリケーションアーキテクチャのどこに適合するかを理解するために使用できるマップを手にしていただきたい。
リアルタイム分析エコシステムの定義
あなたがeコマース()のウェブ・アプリケーションを構築していて、アーキテクト、バックエンド開発者、演算子として複数の役割を果たす必要があるとしよう。 アーキテクトとして、クラウド・プロバイダーや地域、コンテナ・オーケストレーション・メカニズム、高可用性要件などの要素を決定する。 バックエンド開発者としては、アプリケーションのコードを書くだけでなく、アプリケーションに影響を与える他の重複するコンポーネントと密接に連携する。 例えば、データベースの設定、スキーマの定義、IDプロバイダーの設定、APIの設計、作成、公開を行う。演算子としては、を監視するためにアプリケーションを計測し、継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインをセットアップする。
これは、アプリケーションのテクノロジーエコシステムと呼ばれるもので、ビジネスユースケースを提供するために緊密に連携する関連ツールやテクノロジーのセットである(図2-1参照)。
図2-1. 典型的なウェブアプリケーションのエコシステム
リアルタイム・アナリティクス・アプリケーションも同様で、初心者であれ経験者であれ、リアルタイム・アナリティクス・アプリケーションのテクノロジー・エコシステムを理解することが重要である。 基本的には、アプリケーションのデータフローと、アプリケーションのin演算子中にそのデータフローを遮断するテクノロジーを認識する必要がある。 簡単に言えば、データフローが発生するコンポーネント、データを移動して処理するコンポーネント、そして最後に、移動したデータから洞察を得る先を特定することである。
私たちはこれを、リアルタイム分析エコシステムと定義することができる。 リアルタイム分析スタックと ストリーミングスタックという用語は同じ意味で、業界では同じ意味で使われている。
アーキテクトであれ、開発者であれ、演算子であれ、ストリーミング・スタックを知ることは、堅牢でパフォーマンスの高いリアルタイム分析アプリケーションの設計、構築、運用に役立つ。 ...