Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
OCI Streaming ご紹介
oracle4engineer
PRO
December 02, 2022
Technology
0
710
OCI Streaming ご紹介
Oracle Infrastructure(OCI)のサービスの概要紹介資料です。
oracle4engineer
PRO
December 02, 2022
Tweet
Share
More Decks by oracle4engineer
See All by oracle4engineer
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
500
WebLogic Server for OCI の 汎用的な構成
oracle4engineer
PRO
0
19
WebLogic Server for OCI 移行の手順
oracle4engineer
PRO
0
13
WebLogic Server for OCI 概要
oracle4engineer
PRO
3
880
WebLogic Server for OKE 概要
oracle4engineer
PRO
1
29
Oracle Transaction Manager for Microservices Free 22.3 製品概要
oracle4engineer
PRO
5
110
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
oracle4engineer
PRO
0
160
OCI Queue Service 概要
oracle4engineer
PRO
0
18
OCI Queue Service 技術概要
oracle4engineer
PRO
0
18
Other Decks in Technology
See All in Technology
NGINXENG JP#2 - 2-NGINXの動作の詳細
hiropo20
1
140
ECテックカンファレンス2023 EC事業部のモバイル開発2023
tatsumi0000
0
300
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2.1k
ROS_Japan_UG_#49_LT
maeharakeisuke
0
220
cdk deployに必要な権限ってなんだ?
kinyok
0
180
API連携に伴う規制と対応 / Regulations and responses to API linkage
moneyforward
0
160
もし本番ネットワークをまるごと仮想環境に”コピー”できたらうれしいですか? / janog51
corestate55
0
380
SignalR を使ったアプリケーション開発をより快適に!
nenonaninu
0
630
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
740
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
130
インフラ技術基礎勉強会 開催概要
toru_kubota
0
170
re:Inventで発表があったIoT事例の紹介と考察
kizawa2020
0
180
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
Building an army of robots
kneath
301
40k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
31
20k
Pencils Down: Stop Designing & Start Developing
hursman
114
10k
Optimizing for Happiness
mojombo
365
64k
VelocityConf: Rendering Performance Case Studies
addyosmani
317
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
38
3.6k
Side Projects
sachag
451
37k
Navigating Team Friction
lara
177
12k
Transcript
OCI Streaming Serviceご紹介 日本オラクル株式会社 Dec. 2022
Copyright © 2022, Oracle and/or its affiliates 2 Streamingの概要
3 Copyright © 2022, Oracle and/or its affiliates 増加し続けるデータとその活用 現代では、様々な種類のデータが生み出され続けている
• Web/Mobileアクティビティデータ • システムから出力されるログ • IoTセンサーログ • システム内モジュール間の接続/通信 • etc. これら大量のデータを活用するためには、 それらをリアルタイムに処理できるシステムが必要
4 Copyright © 2022, Oracle and/or its affiliates 新たな分散メッセージング基盤の必要性 大量のデータを処理するうえで、以前のメッセージングキューやETLツールなどの大量データ処理システムには課題があった
• 高コストなトランザクション制御により高スループットな処理の実現が難しい • リアルタイムな処理とバッチ処理の両方で同じデータを扱いにくい • 固有の技術に依存した処理や分かりにくいAPIによりシステム統合が難しい これらの課題を解決するための新しいアーキテクチャが求められる 大量のメッセージをリアルタイム に処理できるアーキテクチャ 任意のタイミングでデータを処理 するためのデータ永続化 分かりやすい APIによる、システ ム統合と操作の簡易化
大量のデータストリームを処理するフルマネージドな分散メッセージングサービス OCI Streaming Service (ストリーミング) Copyright © 2022, Oracle and/or
its affiliates 5 ▪ ユースケース ログやイベント、Web/MobileやIoTからのデータストリームを集約、 巨大なシステム内でのサービス間を繋ぐデータハブ ▪ 特徴 複雑になりやすいサービス間やコンポーネント間の接続経路を、Streamingを経 由する形にすることでシンプルにすることが可能 Pub/Subモデルの採用により、データ通信を非同期に行い急激なデータ増加に よるシステム負荷の上昇を抑制 Streamingに接続するためのAPIやSDKを提供 • Kafka互換APIを提供 ▪ 価格 (2022年12月現在) データ転送(登録/取得)1GBごとに¥3.5 データの保持1GB×時間ごとに¥0.028 ▪ 関連するOracle Cloud Service • Events (イベント・サービス) • Oracle Functions (ファンクション) • API Gateway IoT Mobile/Web Activities App Kafka Client Streaming Streaming Events API Gateway Database System Object Storage Functions
大量のデータストリームをリアルタイムに処理するメッセージングサービス • 3つの設定項目を入力するのみで、ストリームの作成が可能 • フルマネージドのため、インフラ運用や障害対応はクラウド側で実施 • データストリームは最大で7日保持可能 ユースケース • 大量のログやイベントデータの収集
• Web/Mobileアクティビティデータの集約 • IoTデータストリームの処理 • 巨大なシステムにおけるモジュール間の通信 OCI Streaming Serviceの概要 Copyright © 2022, Oracle and/or its affiliates 6
7 Copyright © 2022, Oracle and/or its affiliates OCI Streaming
Serviceのメリット コスト削減 • 管理コスト削減: 手動でのモニタリングやクラスタ管理などの排除 • 運用コスト削減: 実際に利用した分のみの従量課金制 リスク削減 • 高可用性: データはリージョン内の可用性ドメインに複製される 生産性向上 • Kafka互換性: Apache KafkaとのAPI互換性があり、既存のKafkaアプリケーションを利用可能 • OCIとの統合: ADW, Object Storageなど様々なOCIリソースとのコネクターを提供
Copyright © 2022, Oracle and/or its affiliates 8 Streamingのユースケース
ログやWebアクティビティデータの収集 Copyright © 2022, Oracle and/or its affiliates 9 •
システムログやユーザーのアクティビティログをメッセージとして収集 • リアルタイム/バッチ処理などの必要なタイミングに応じて収集したメッセージを利用 • Streamingによってデータの流れを一元化 アプリケーション アクティビティデー タ システムログ リアルタイム処理 バッチ処理 アクティビティデータ システムログ アクティビティデータ システムログ モニタリング・ アラート UI反映・UX向上 のための機能 機械学習による 分 析・レコメンド ログ分析・キャパシティ プランニング Streaming Service Connector Hub Logging Logging
IoTデータのリアルタイム処理 Copyright © 2022, Oracle and/or its affiliates 10 •
IoT機器から流入する大量のデータを、Streamingが受け口となってキューイングする • そのストリームを読み出して、ADWやカスタムアプリがそれを利用する IoT Data OCI Streaming Data Management Autonomous Data Warehouse IoT Apps 自動車やスマート家 電のセンサーからの データをStreaming に送信 メッセージとして データをキューに入れ、 分散して保持する OCI Streaming からリアルタイムに データを取得/処 理していく 分析モデルに より、サジェスト やアラートなど の結果を返す アプリがキューイ ングされたデー タを利用する Streaming Big Data Autonomous Data Warehouse GoldenGate Stream Analytics Data Flow
非同期メッセージ・ハブとしての利用 Copyright © 2022, Oracle and/or its affiliates 11 システム内のモジュールや、MSAアプリのサービス間の接続経路を、シンプルで疎結合に保つ
例:EC システム Marketing Module Payment Module CMS Module Support Module Cart Module Delivery Module Product Module Customer Module Order Module Backend Module Distribution Module Front Site Streaming
Copyright © 2022, Oracle and/or its affiliates 12 StreamingとKafkaの互換性
13 Copyright © 2022, Oracle and/or its affiliates Kafka互換API Kafka互換のAPIを利用し、コードを変更せずに
StreamingでKafkaアプリを利用可能 利用可能API(全てv0.10.0以降) • Produce • Consume • Group Management • Kafka Connect • 後述のKafka Connect構成を組み合わせて、様々な OCIサービスと統合可能 • Admin APIs(一部)
14 Copyright © 2022, Oracle and/or its affiliates StreamingとKafkaの差分 StreamingとKafkaにおける概念の対応表
API • OCI SDKのAPIに加えてKafka互換のAPIを利用可能 • 一部のKafka APIは未実装 • Streaming APIを使ったアプリケーションとKafka互換APIを使ったアプリケーションは共存可能 クエリの実行 • KSQLのような、Streamingに対するクエリの実行は未サポート Kafka互換API Kafka Client partition stream key value key value partition topic partition message OCI Streaming Streaming Kafka Stream Topic Partition Partition Key/Topic Key Group Group Kafka Client Group Groupに関しても、 Kafkaと同様の動作 (詳しくは付録参照)
15 Copyright © 2022, Oracle and/or its affiliates Kafka Connect
Kafka Connect • Kafkaと他のリソースを接続するためのツール • Consume/Produce時の定型的な手続きを汎用化したもの Logs/ Other Files Data Source Logs/ Other Files Data Sink Kafka Connect Database System Object Storage Database System Object Storage
16 Copyright © 2022, Oracle and/or its affiliates Kafka Connect構成
Kafka Connect構成 • StreamingでKafka Connectを利用する際に必要 • JDBC接続やストレージとの接続 • ATPやObject Storage(S3互換APIの利用)との連携が可能 2. SourceやSinkとなる リソースの作成 3. リソースに合わせた Kafka Connectの構築 1. OCI上にKafka Connect 構成を作成 作成後表示される設定値を、 Kafka Connect構築時に利用 対応するリソースはConfluent Hub などで確認可能 対応するKafka Connectを構築し、 コンテナなどを利用し起動しておく Kafka Connect構 成の設定値 Kafka Connectを構築 Object Storage Container Engine For Kubernetes Containers Virtual Machine Autonomous Database
17 Copyright © 2022, Oracle and/or its affiliates 参考:Kafka互換API、Kafka Connectを利用したDBとStreamingの連携
• DBにレコードを追加した際、同期的にStreamingに対してメッセージをpublish • モジュール間のDB連携を、Streamingを介して行うことが可能に Kafka Connect JDBC App/ Database Client ② レコードをDBにinsert ① Kafka ConnectがDB をpolling ③ insertの内容を Streamingにpublish Database System Streaming
まとめ Copyright © 2022, Oracle and/or its affiliates 18
19 Copyright © 2022, Oracle and/or its affiliates Oracle Streaming
Serviceのまとめ Streamingとは何か • フルマネージド・分散メッセージングサービス • 従量課金制により最適化される、リーズナブルなコスト • OSS(Kafka/Kafka Connect)との互換性があり、ベンダー・ロックインなし Streamingは何ができるのか • 絶え間ないデータの受け口となることができる • 受けたデータは、損失なく分散読み出しができる • 結果として、システム内の接続経路をシンプルにできる Streaming
None