AWS Kinesis Data Analytics を使用すると、データ ストリームをリアルタイムで分析および処理できます。このサービスを使用すると、リアルタイム分析ダッシュボードを構築し、ログ ファイルをスキャンして問題を検出し、異常を検出できます。
これにより、データから洞察を導き出し、問題を検出し、ほとんど遅延なく問題に対応することができます。この記事では、AWS Kinesis Data Analytics を使用するために知っておく必要があるすべての概要を説明します。
AWS Kinesis Data Analytics とは何ですか?

AWS Kinesis Data Analytics は、 AWS Kinesis サービスファミリーの一部であるフルマネージド型の AWS サービスです。ストリーミング データをリアルタイムで受信しながら処理できます。このストリーミング データは、IoT デバイス、クリックストリーム、広告アプリケーション ログなどのさまざまなソースによって継続的に生成されます。 AWS Kinesis Data Analytics は、内部で EC2 インスタンスを使用するマネージド Apache Flink インスタンスを AWS クラウド上で提供します
このファミリーの他のサービスには、Kinesis Data Streams、Kinesis Data Firehose、Kinesis Data Streams などがあります。このサービス ファミリの主な目的は、ストリーミング データを収集および処理するためのソリューションを提供することです。
ストリーミングデータとは何ですか?
ストリーミング データは、システムに継続的に流入し、情報が追加されるにつれて継続的に進化するデータです。これは、時間が経っても同じ状態を保つ静的データセットとは対照的です。
AWS Kinesis は、制限付きデータセットと制限なしデータセットの両方を操作するのに役立ちます。境界のあるデータセットには明確な開始と終了がありますが、境界のないデータセットには開始がありますが、明確な終了がありません。
AWS Kinesis Data Analytics の機能
他の重要な機能の中でも、AWS Kinesis Data Analytics は次の機能を提供します。
- ストリーミング データ全体のリアルタイム分析
- 分析を実行するスクリプトを作成するための SQL ベースのエディター
- 高可用性と信頼性を実現する自動スケーリング
- 他の AWS サービスとの統合。
ビジネスにおける Kinesis Data Analytics の重要性
- Kinesis Data Analytics を使用すると、必要な情報がすぐに提供されるため、より迅速な意思決定が可能になります。データを入手して意味のある情報にまとめるには時間がかかり、データ分析がなければ意思決定が遅くなります。
- また、異常をより迅速に検出できるため、異常をより早く解決できます。たとえば、ビジネス処理トランザクションでは、詐欺を示す可能性のある不審なアクティビティにフラグを付けることができます。この異常はすぐに解決できます。
- 業務運営をリアルタイムで監視および制御できます。データは、Web サイトのイベント、IoT 測定、さまざまなセンサーからのデータなど、さまざまなソースから収集できます。
AWS Kinesis Data Analytics のアーキテクチャ
他の処理システムと同様に、AWS Kinesis Data Analytics は、データを取り込み、処理し、変更されたデータを出力するいくつかのコンポーネントで構成されています。 AWS Kinesis のアーキテクチャも同様に、データソース、処理アプリケーション、出力先、およびシステム内でデータを移動するためのアプリケーション内ストリームで構成されています。
データ ソースには、ストリーミング データの任意のソースを使用できます。これには、Firehose、S3 バケット、Kinesis Data Streams などの AWS サービスが含まれる可能性があります。データソースは、時系列データなど、AWS の外部にある場合もあります。
処理アプリケーションは、ユーザーが作成する AWS Kinesis アプリケーションです。これらのアプリケーションは、受信したデータを、より有意義で洞察力に富んだ出力データに変換します。これらのアプリケーションは SQL で書かれており、データ ソースから取得したデータにクエリを繰り返し適用します。
処理されたデータの出力先には、データ ストリーム、Firehose、S3 バケット、Amazon MSK が含まれます。宛先は分析ダッシュボードにすることもできます。
Kinesis Data Analytics は、アプリケーション内ストリームを使用して、さまざまな処理ステージ間のデータフローも管理します。これらのストリームは、アプリケーション内の SQL クエリまたは Flink 操作間でデータを転送するチャネルとして機能します。
AWS Kinesis Data Analytics の主要コンポーネント
AWS Kinesis Data Analytics は 3 つの主要コンポーネントで構成されています。このセクションでは、これらのコンポーネントとは何か、およびそれらに関連する機能について説明します。
アパッチフリンク
AWS Kinesis Data Analytics プラットフォームは、Apache Flink のマネージド インスタンスです。これは Amazon クラウド インフラストラクチャ、特に使用状況に基づいて自動スケールする EC2 インスタンスでホストされています。 Apache Flink は、高可用性で正確なストリーミング アプリケーションを構築するためのフレームワークです。

境界のないデータと境界のあるデータの両方でうまく機能します。このフレームワークは、クラスター コンピューティング システム上で分散システムとして実行されます。 Apache Flink はアプリケーションを並列化し、クラスター内で計算されるように分散します。
Kinesis データ分析スタジオ

Kinesis Data Analytics Studio を使用すると、ノートブックを使用して視覚化を作成し、クエリを実行できます。これらのノートブックは、同じ開発環境で SQL、Python、Scala をサポートします。
このサポートには、構文の強調表示と検証が含まれます。 API を使用して、これらのノートブック内のストリーミング データに対して実行されるクエリを作成します。
Data Analytics Studio ノートブックは、自動スケーリング EC2 インスタンスでホストされます。つまり、サーバーレス ソリューションであるため、基盤となるインフラストラクチャについて心配する必要がありません。
Kinesis データ分析 SQL アプリケーション

データ分析 SQL アプリケーションは、データ ストリームおよび Firehose と統合して、データを取り込み、SQL で処理し、結果を AWS サービスに返すことができるようにします。
このコンポーネントは、SQL クエリを構築および作成するためのコンソールベースのエディターを提供します。クエリを作成するだけでなく、一般的な操作に事前に構築されたテンプレートを使用できるため、すべてを再作成する必要がなく、作業を迅速に完了できます。
Kinesis Data Analytics を使用する理由
#1.スケーラビリティ
このサービスは、マネージド Apache Flink インスタンスです。 Apache Flink は並列クラスター コンピューティングを使用して、実行する作業を分散します。 AWS は、必要に応じて基盤となるコンピューティング クラスターのサイズを自動スケーリングします。これにより、Kinesis Data Analytics は、非常に大規模なデータストリームを処理できるように自動的にスケーラブルになります。
#2.パフォーマンス
Apache Flink は、非常にスケーラブルな並列コンピューティング ネットワーク上で実行されるため、大量のデータを処理する場合に非常に高いパフォーマンスを発揮します。ほとんどすべての操作はメモリまたは効率的なディスク上のデータ構造で実行されます。これにより、操作実行時の待ち時間が 1 秒未満になります。
#3.最適化
プラットフォームはパフォーマンスを最大化するためにカスタマイズ可能です。たとえば、ウィンドウの時間、ウィンドウ サイズ、タンブリング ウィンドウまたはスライディング ウィンドウを変更して、パフォーマンスを最適化できます。データをフィルタリングして、関心のある属性に焦点を当てることもできます。SQL を作成するときに、クエリを最適化することでパフォーマンスを向上させることもできます。
#4.安全
AWS Kinesis Data Analytics は、AWS クラウドのセキュリティを提供します。これには、転送中のデータの暗号化、データと分析へのアクセスの管理、クラウド内のマネージド サービスに期待される定期的な更新とパッチの機能が含まれます。
#5.コンプライアンス
このサービスを利用すると、データとプライバシーの規制を遵守することもできます。データの保存と削除のポリシーを簡単に定義できます。さらに、脅威やインシデントをリアルタイムで特定するのに役立つ AWS のサービスを利用することもできます。これにより、データが正しく適切に処理されることが保証されます。
Kinesis Data Analytics のユースケースとアプリケーション
大まかに言うと、AWS Kinesis Data Analytics を使用すると、データ ストリームからリアルタイムで受信したデータを継続的に読み取り、処理、保存するためのコードを作成できます。これは、次のような多くのものを構築できるため、非常に便利です。
- 受信したデータを迅速に処理する分析ダッシュボードを構築します。このデータは、ユーザーがどのように操作するかをよりよく理解するために処理したい Web サイト/プラットフォーム上のイベントである可能性があります。
- Amazon S3 バケット、Amazon Kinesis Data Streams、Amazon MSK などの他の AWS サービスにデータをストリーミングする前に、データを処理してより意味のあるものにします。
- IoT デバイスからのデータを処理し、リアルタイムで保存します。
ケーススタディと成功事例
アリティ
Arity は輸送に携わるテクノロジー企業です。輸送をより安全、より速く、よりスマートにすることを目指しています。これには、ストリーミングされる大量の運転データから洞察を引き出す必要があります。 AWS Kinesis Data Analytics を使用すると、これが可能になります。さらに、課題の解決にかかる時間を数四半期から数週間に短縮しました。
隣
Nextdoor は、ローカライズされたソーシャル ネットワーク用のアプリです。このアプリは、地元のニュース、ヒント、地元企業に関する情報を提供します。 AWS Kinesis Data Analytics は、さまざまなエンゲージメントチャネル全体で顧客の有効性などの洞察を引き出す際に、非常に貴重であることが証明されています。
オートデスク
Autodesk は、設計とエンジニアリングで使用されるソフトウェアの作成者です。これには、製図に使用される AutoCAD や Revit などの一般的な製品が含まれます。彼らは AWS Kinesis Data Analytics を使用してログを分析し、顧客が自社の製品をどのように使用しているかをより深く理解し、自社のソフトウェアを改善しています。
学習リソース
#1. AWS Kinesis データ分析リソース
AWS のAWS Kinesis Data Analytics リソースは、 AWS Kinesis の学習を開始するための優れたリソースのセットです。最新かつ包括的なガイドについても信頼できます。また、プラットフォームのさまざまな側面をカバーする包括的なドキュメントもあります。
#2.初心者向け AWS Kinesis チュートリアル – YouTube
YouTube には、このようなチュートリアルもあります。
最後の言葉
この記事は、AWS Kinesis Data Analytics の紹介でした。目的は、サービスを紹介し、そのサービスを使用する理由と、どこで最も役立つかを紹介することでした。
次に、Apache Cassandra に関する記事をお読みください。