Upgrade to Pro — share decks privately, control downloads, hide ads and more …

イベントストリーミング入門 〜Apache Kafkaを活用した大規模リアルタイムデータ処理〜

イベントストリーミング入門 〜Apache Kafkaを活用した大規模リアルタイムデータ処理〜

OSC Kyoto Online 2022の発表資料です。初心者向けにApache Kafkaの概要を解説しています。

Akio SHIMIZU

July 30, 2022
Tweet

More Decks by Akio SHIMIZU

Other Decks in Technology

Transcript

  1. Data at RestはData in Motionに変わっていく 輸送機関 リアルタイムのセンサー 診断 運転手-乗客のマッチング 到着予想時刻のリアル

    タイム更新 銀行 不正使用の検出 取引・リスクの管理 モバイルアプリ / 顧客体験の向上 小売 リアルタイム在庫管理 リアルタイムPOS レポート パーソナライゼーション 娯楽 リアルタイムの リコメンデーション パーソナライズされた お薦め アプリ内決済
  2. Topic • 類似イベントを格納する名前付きコンテナ ◦ システムには多くのTopicが存在する ◦ Topic間でデータが重複することもできる • イベントの耐久性のあるログ ◦

    追記(Append)のみ ◦ オフセットによるシークのみ可能で、インデックス化はされない • イベントは不変 (immutable)
  3. Topicのリテンション・ポリシー イベントをどれだけの期間保持する必要があるか ? • どれだけの期間 (デフォルト: 1週間) • Topic単位で設定 ◦

    もしくはBorokerのデフォルト値を使用 • 業務要件による決定 • コスト要因 • コンプライアンス要因 (例: GDPR)
  4. ストリーム処理のアーキテクチャをシンプルに DB CONNECTOR CONNECTOR APP APP DB STREAM PROCESSING CONNECTOR

    APP DB 2 3 4 現状では、3から5にわたる分散システムの構築・インテグレーション・管理が必要 1
  5. 1つのシステムで2種類のクエリに対応: • Pushクエリ リアルタイムで変化するクエリ結果を 購読 (subscribe)する (ドライバーはどこにいて、到着予測時間はいつ?) • Pullクエリ :

    情報のポイントインタイムでの検索 (乗車運賃はいくら? ドライバーの名前は?) ストリーム処理のアーキテクチャをシンプルに