ksqlDB チュートリアルとサンプル¶
Confluent には、ksqlDB アプリケーションの作成方法を学ぶことができるさまざまなリソースが用意されています。
- ksqlDB クイックスタート: ストリーミングデータに関するテクノロジに初めて触れる場合は、ここから始めます。
- Confluent の開発者向けコース: 開発者による開発者のためのコースです。
- Gitpod 上の Confluent のデモ: Gitpod で実行される Confluent のチュートリアルです。
- 一般的なユースケース: マテリアライズドビューの作成など、よく使用される ksqlDB のユースケースです。
- ksqlDB のサンプル: 開発者向けのコードサンプルと方法のガイドです。
- ksqlDB の動画: Confluent Platform ksqlDB および Confluent Cloud ksqlDB に関する最新の動画です。
ksqlDB クイックスタート¶
- Confluent Platform のクイックスタート: ksqlDB を使用して Apache Kafka® のメッセージに対するストリーミングクエリを作成する、単純なワークフローについて説明します。ローカルにデプロイすることも Docker を使用することもできます。
- Confluent Cloud クイックスタート: フルマネージド型の環境で ksqlDB を実行できます。
Confluent の開発者向けコース¶
- ksqlDB 101: このコースでは、ksqlDB のアーキテクチャ、ksqlDB の仕組み、一般的なユースケースについてサンプルとともに説明します。
- Inside ksqlDB: こちらは ksqlDB に関する上級者向けのコースで、SQL の一般的なクエリや機能を使用して、データの読み取り、書き込み、処理、変換を行う方法について説明します。
Gitpod 上の Confluent のデモ¶
- Gitpod: Confluent Platform デモ: Gitpod で実行される、Confluent の紹介用デモです。モバイルデバイスで Confluent Platform を操作できます。
一般的なユースケース¶
ksqlDB を使用してこれらの一般的なユースケース向けのソリューションを実装します。
マテリアライズドビュー/キャッシュ¶
- マテリアライズドビュー/キャッシュ: コールセンターへの電話について一連のマテリアライズドビューを作成し、クエリを実行します。このチュートリアルでは、MySQL データベースからの変更の取り込み、Kafka への転送、ksqlDB でのマテリアライズドビューの作成、アプリケーションからのクエリの実行について紹介します。
ストリーミング ETL のパイプライン¶
- ストリーミング ETL のパイプライン: イベントを取り込んで結合し、出荷された注文の凝集的なビューを作成するストリーミング ETL パイプラインを作成します。このチュートリアルでは、Postgres および MongoDB データベースからの変更の取り込み、Kafka への転送、ksqlDB との結合、シンクおよび解析を目的とした ElasticSearch への出力について紹介します。
- Confluent Platform デモ: ストリーム処理に ksqlDB を使用する Kafka ストリーミング ETL をデプロイします。Confluent Platform デモのすべてのコンポーネントは、エンドツーエンドで構成された暗号化、認証、および認可を備えています。
- ユースケース: ストリーミング ETL: Confluent では、バッチからストリーミング ETL に移行すると、スケーラブルでパフォーマンスに優れたクラウドネイティブのデータパイプラインを通じて、リアルタイムのインサイトを簡単に取得できます。規模を問わず環境全体にわたって、システム、アプリケーション、またはデバイスから送信されるデータストリームを取り込み、集約し、変換します。これによってリアルタイム分析のユースケースを強化します。
イベント駆動型マイクロサービス¶
- イベント駆動型マイクロサービス: 疑わしいアクティビティを特定して顧客に通知するイベント駆動型マイクロサービスを作成します。このチュートリアルでは、ksqlDB による異常の検出と、SendGrid による単純な Kafka コンシューマーを使用したアラートメールの送信について紹介します。
- ユースケース: イベント駆動型マイクロサービス: アーキテクチャを完全に分離し、サービス間の依存関係を排除するため、開発者はビジネスロジックを迅速に構築できます。設計面で回復性が高く、コンテキストアウェアで、高度な拡張性を持ったイベント駆動型マイクロサービスの新しいクラスをビルドできます。
クリックストリームデータ分析パイプライン¶
- ksqlDB を使用したクリックストリームデータ分析パイプライン: チュートリアルでは標準的なストリーミング関数(
min
、max
など)、および子テーブル、ストリームとテーブルの結合、各種ウィンドウ化機能による補強を使用します。
クリックストリーム分析は、ウェブサイトの閲覧者がどのページをどの順序で閲覧したかについての集約データを収集、分析、レポートするプロセスです。ウェブサイト内での閲覧者の移動経路はクリックストリームと呼ばれます。
このチュートリアルは、以下を決定するためのユーザーのリアルタイム分析を構築することに重点を置いています。
- アクセス数や閲覧者などの一般的なウェブサイト分析
- 帯域幅使用
- ユーザーの IP アドレスと実際のユーザーおよびその居住地とのマッピング
- 高帯域幅ユーザーセッションの検出
- エラーコードの発生および補強
- user-session を追跡して動作(per-user-session-bandwidth、per-user-session-hits など)を把握するためのセッション化
Docker がない場合は、ローカルの Confluent Platform インストールを対象とした、クリックストリームのチュートリアルの 自動化バージョン を実行できます。Docker なしでクリックストリームのデモをローカルで実行するには、Elasticsearch および Grafana と併せて Confluent Platform が ローカルにインストールされている ことが必要です。
ksqlDB のサンプル¶
Confluent では、ksqlDB アプリケーションの開発に役立つさまざまなサンプルや方法のガイドが用意されています。
以下のような サンプル があり、よく使用される ksqlDB の操作を示す短いコードスニペットが提供されています。
方法のガイド は、ksqlDB の一般的な機能を使用するうえで役立つ簡単なレッスンです。以下のような内容が提供されています。
Kafka のチュートリアル¶
- Kafka チュートリアル には、ksqlDB および Kafka のアプリケーションの構築に役立つステップごとの手順などがあります。
無料の電子書籍: 『Mastering Kafka Streams and ksqlDB』¶
- 『Mastering Kafka Streams and ksqlDB』: ストリーム処理における重要な概念、ユースケース、いくつかの興味深いビジネス上の課題について学ぶことができます。Kafka Streams と ksqlDB の長所を知ることで、さまざまなストリーム処理プロジェクトに最適なツールを選択するのに役立ちます。Java が専門でない開発者にとっては、ksqlDB を使用する方法は、ストリーム処理を始めるにあたって非常に取り組みやすい方法です。
ksqlDB の動画¶
Confluent YouTube チャンネル では、Confluent Platform ksqlDB と Confluent Cloud ksqlDB に関する最新のビデオがご覧になれます。
ビデオ | 説明 |
---|---|
ksqlDB HowTo: A mini video series | Robin Moffatt による、スクリプトのデモを中心とした ksqlDB に関するクイックビデオです。スクリプトはご自身で実行することができます。 |
Apache Kafka 101: ksqlDB | Tim Berglund が、ksqlDB の概念とクエリをわかりやすく紹介しています。 |
Confluent Cloud Quick Start, ksqlDB, and Project Reactor (Redux) | Viktor Gamov が、Confluent Cloud の Kafka、Connect、および ksqlDB クラスターのプロビジョニングと、ksqlDB Reactor クライアントのアクセスについて説明しています。 |
Demo: The Event Streaming Database in Action | Tim Berglund が、ksqlDB を使用して映画評価システムを構築し、映画レコードを Kafka のトピックに書き込む手順について説明しています。 |
Demo: Seamless Stream Processing with Kafka Connect & ksqlDB | Confluent Cloud の AWS ソースコネクター、Azure シンクコネクター、および MongoDB ソースコネクターを使用して、ksqlDB アプリケーションをセットアップおよび構築します。 |
Introduction to ksqlDB and stream processing | Vish Srinivasan が、Kafka のストリーム処理の基本と ksqlDB について説明しています。 |
Ask Confluent #16: ksqlDB edition | Gwen Shapira が司会者として、Vinoth Chandar と一緒に ksqlDB について幅広く語っています。 |
An introduction to ksqlDB | Robin Moffatt が、スケーラブルでフォールトトレラントなストリーム処理システムの構築に ksqlDB がどのように役立つかを説明しています。 |
ksqlDB and the Kafka Connect JDBC Sink | Robin Moffatt が、Connect JDBC シンクと一緒に ksqlDB を使用する方法について解説しています。 |
How to Transform a Stream of Events Using ksqlDB | Viktor Gamov が、映画データのストリームの転送方法について解説しています。 |
ksqlDB Java Client and Confluent Cloud | Viktor Gamov が、ksqlDB Java クライアントの概要について説明しています。また Confluent Cloud に対するテストについても説明しています。 |
推奨リソース¶
- Confluent のリソース: 動画、プレゼンテーション、ホワイトペーパーなど。