簡単なリアルタイム・ストリーミング・インサイト

<font color="Grey">*[Easy real time streaming insights](https://aiven.io/blog/easy-real-time-streaming-insights)の翻訳です。*</font>

2021年12月2日

# 簡単なリアルタイム・ストリーミング・インサイト

ストリーミング・データは貴重な資産です。ストリーミング・データを保存し、分析する理由と、パイプラインの構築方法をご覧ください。

ストリーミングについて話しましょう。ノートパソコンやテレビに番組や映画を配信する「市販の」ストリーミング・サービスではなく、リポジトリ間でデータを移動させる大規模なサービスについてです。


リアルタイム、低遅延のユースケースで大量のデータを扱うための技術群がある。この成熟したエコシステムにより、低リスクの投資で簡単に始められ、ユースケースを拡大することができる。


そして、素早く失敗しながらも、それを維持し続けることができる。


成長する業界のトレンドを見て、ストリーミング・パイプラインの構築があなたのビジネスに適しているかどうか、洞察してみよう。


## なぜストリーミングの洞察が重要なのか？


データに何ができるのか？


* リアルタイム・モニタリング/スケーリング
* [異常検知](https://docs.aiven.io/docs/tutorials/anomaly-detection)
* eコマースのショッピングカート放棄
* セキュリティと自動化


ストリーミング・テクノロジーは、ビジネスの俊敏性を高めることが期待できるため、人気が高まっている。意思決定を迅速化し、ビジネスユニット間のコラボレーションを可能にすることで、ビジネスは[競争上の優位性を得る](https://aiven.io/blog/why-you-should-think-about-moving-analytics-from-batch-to-real-time)ことができる。ストリーミング・アーキテクチャによって、チームはより速く反復し、より多くのチームでより多くのデータを利用できるようになり、部門間のコラボレーションが実現します。


これらのツールの多くはオープンソースであり、業界で人気が高まっている。どちらも、イノベーションを推進するための幅広い人材プールにアクセスできる要因だ。


この記事の後半で、テクノロジーについて説明する。今は、ストリーミング・データは「ソース」から来て、何らかの処理を経て最終的にデータベース、データレイク、データウェアハウスに到達することを覚えておいてほしい。それぞれのストリーミング・テクノロジーには、特定のユースケースをサポートする統合ライブラリのエコシステムがある。ビッグデータやETL/ELTに適したものもあれば、機械学習や人工知能に適したものもある。


多くの企業は、未開拓のデータの山の上にあぐらをかいている。ストリーミング・テクノロジーを使えば、企業は未開拓の可能性を意思決定に活用し始めることができる。適切な投資を行えば、適切なデータを適切な人々の前に迅速に提供できるようになるだけだ。


## ストリーミング・インサイトはいつ活用すべきか？


以下のいずれかに当てはまる場合、ストリーミングインサイトはビジネスの変革に役立つ可能性が高い：


* 豊富なデータがある
* 変更データキャプチャをサポートするデータベーステクノロジーを使用している。
* チームコラボレーションを強化し、ビジネスの俊敏性を高めている
* 厳格なデータガバナンスポリシーが社内プロセスに摩擦を与えている


データセットが常に変化しており、どのようなデータにアクセスできるのか、またそれがビジネス価値を高める可能性があるのかを十分に理解していない。


ビジネスリーダーやテクノロジーリーダーは、どのような取り組みに対しても常にROIを考慮し、投資リスクの軽減に努めるべきである。ここでは、パレートの法則（80/20の法則）を使って、低空飛行の果実を見つけ、失敗の少ない反復と明確なマイルストーンでチームを成功に導くためのヒントをいくつか紹介する。


まず、データがあること、そしてそれが何であるかを確認する。データ・チームと相談し、データ保持、データ量、その他の潜在的なデータ・ソースについて把握する。これによって、何が利用可能で、どれだけの履歴データが保存されているのかがわかります。


次に、技術スタックをチェックし、アプリケーションがどのデータベースを使用しているかを確認する。MySQL、Postgres、Cassandra、Oracle、MongoDB、SQL Serverのようなサービスは、Apache KafkaやKafka connectのようなツールとすぐに統合できる。Change Data Capture（CDC）を活用すれば、データベースの変更を「リッスン」し、イベントストリームに変換することができる。このようにして、レガシー・アプリケーションは、ほとんど開発作業をすることなく、最新のリアルタイム・ストリーミング・アプリケーションになることができる。


ユースケースを検討し、各フレームワークの一般的なユースケースを見てみよう。例えば、Sparkで機械学習を実行したり、[Flink](https://aiven.io/flink)で高度なストリーム処理を実行したりする類似のユースケースに関するケーススタディを見つけることができるかもしれない。これについては次のセクションで詳しく説明しますが、データがKafkaに格納された後、どのツールを使用できるかを知るのに役立ちます。


## ストリーミングの洞察をどのように実装し、活用できるか？


多くのテクノロジーが同様の機能を提供しているが、すべてが同じではない。規模、コントリビューター・コミュニティ、他のエンタープライズ・グレードのテクノロジーとの統合のエコシステムとなると、それらはすべて異なる。


試行錯誤を経て、業界は特定のユースケースに対して主要なテクノロジーを選ぶ傾向がある。これは、言語フレームワーク、データベース、そして主要なクラウド・プロバイダーにさえ当てはまる。Kafkaは10年近くストリーミング・データ・テクノロジーの最前線にいる。Kafkaがどのようにストリーミング・アプリケーションの課題を解決し、イノベーションの摩擦を減らすかについて説明する。


Apache KafkaはLinkedInに端を発し、高スループットと低レイテンシーのアプリケーションにおいて業界標準となるまでに成長した。オープンソースの貢献者たちは、Kafkaの運用と利用を簡素化するために、Kafkaの周りにツールのエコシステムを構築した。これは主にPub-Subモデルに基づいており、イベントの非同期処理と、プロデューサーとコンシューマーの非連続スケーリングを容易にしている。これは単純化しすぎだが、Kafkaはストリーミング・アーキテクチャの基礎であるということだ。


Apache Kafka Connectは、Kafkaにプロデューサまたはコンシューマとして接続する技術のための共通API（Abstract Programming Interface）を定義している。つまり、すでに使っているツールやテクノロジーを最小限の労力でKafkaと統合できる。多くの場合、CDCのような機能では、実装に必要なエンジニアリングの労力はゼロです。Aivenは、Kafka ConnectとCDCの助けを借りて、数日でレガシーシステムをイベント駆動型アーキテクチャに変換するためにお客様と協力してきました。


Kafka ConnectはKafkaにデータを入出力するシンプルな方法ですが、結合、ウィンドウ化、変換、フィルタリングなどの複雑な処理を行いたい場合もあるでしょう。これは低レベルのKafkaライブラリやKafka Streamsクライアントで実現できますが、エンジニアリングの労力がかかります。低コストの代替案は、設定と統合ベースのフレームワークである。Confluent 独自の kSQL は Kafka 内のデータを強力にストリーム処理できる。しかし、他のオープンソース・テクノロジーは、より強力な処理と幅広い統合ポイントを提供する。


Flinkは、Kafkaや、Postgres、Elasticsearch、OpenSearchのような他のシステムでデータをフィルタリング、結合、変換するためのSQLライクな構文を通じて、複雑なストリーム処理機能を提供する技術の一つである。これはHadoopやCassandraのような他のデータ統合にも拡張できる。しかし、本当の力は設定ベースのユースケースにとどまらない。カスタムジョブとビルトイン・ジョブマネージャーがある。Flinkは、データサイエンスの実験ラボから、堅牢なETLツールスイート、実ビジネスを推進する最先端の機械学習プラットフォームまで、あなたのユースケースとビジネスに適したツールエコシステムを提供します。


Aivenのソリューション・アーキテクトは、顧客や見込み客と話すときはいつでも、より成熟したクラウド・ネイティブ・デプロイメントに向けて背中を押しています。それは常に簡単なことではありません。時には難しい話も含まれます。たとえその答えが「今すぐではないので、バックログに入れておいてください」であったとしても、以下の点に対する答えを持っている必要があります。


* あなたの成長予測はどのようなものですか？財務的なスケールは？ビッグデータは高価です。
* パフォーマンスとレイテンシーの要件は？「高スループット」、「低レイテンシー」、「低コスト」......2つ選ぶか、クリエイティブに。SLAと予算を明確に定義してください。
* セキュリティはどうしますか？セキュリティとベストプラクティスを導入する最も簡単な時期は、導入前である。Kafkaのエンタープライズ展開にマイクロサービスアーキテクチャを後付けするのは、簡単でコストのかからない作業ではない。セキュリティは最優先事項です。


## 次は？


上記のヒントを参考に、チームが成功するようにセットアップし、低空飛行の果実を見つけ、素早く反復を開始するようにしてください。既存のシステムとの統合をセットアップし、データの探索を開始するのは簡単です。ツールのエコシステムは、最小限の先行投資で迅速な価値創出を可能にし、明確なマイルストーンを設定して迅速に失敗することを可能にする。


Aivenは、オープンソースのストリーミング・テクノロジーを活用して成長を促進する企業を見て、数え切れないほどこの旅をしてきました。


## まとめ


次のステップとして、[Aiven for Apache Kafka](https://aiven.io/kafka)と[Aiven for Apache Flink](https://aiven.io/flink)をチェックしてみてください。


まだAivenのサービスを利用していない場合は、<https://console.aiven.io/signup>から無料トライアルにサインアップしてください！


それまでは、[changelog](https://aiven.io/changelog)と[blog](https://aiven.io/blog)のRSSフィード、または[LinkedIn](https://www.linkedin.com/company/aiven/)と[Twitter](https://twitter.com/aiven_io)のアカウントをフォローして、製品や機能関連の最新情報をご確認ください。