Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yahoo!デベロッパーネットワーク
15,050 views
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Apache Kafka Meetup Japan #3 https://kafka-apache-jp.connpass.com/event/58619/ 発表資料
Technology
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 25 times
1
/ 15
2
/ 15
3
/ 15
4
/ 15
5
/ 15
6
/ 15
7
/ 15
8
/ 15
Most read
9
/ 15
Most read
10
/ 15
11
/ 15
12
/ 15
13
/ 15
Most read
14
/ 15
15
/ 15
More Related Content
PPTX
分散システムについて語らせてくれ
by
Kumazaki Hiroki
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
PDF
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
PDF
例外設計における大罪
by
Takuto Wada
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
分散システムについて語らせてくれ
by
Kumazaki Hiroki
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
コンテナにおけるパフォーマンス調査でハマった話
by
Yuta Shimada
例外設計における大罪
by
Takuto Wada
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
What's hot
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
by
Preferred Networks
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
PDF
DockerとPodmanの比較
by
Akihiro Suda
PDF
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PDF
ストリーム処理を支えるキューイングシステムの選び方
by
Yoshiyasu SAEKI
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PDF
Elasticsearchを使うときの注意点 公開用スライド
by
崇介 藤井
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
RESTful Web アプリの設計レビューの話
by
Takuto Wada
PDF
イマドキ!ユースケース別に見るAWS IoT への接続パターン
by
seiichi arai
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
by
Preferred Networks
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
by
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
by
NTT DATA Technology & Innovation
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
DockerとPodmanの比較
by
Akihiro Suda
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
ストリーム処理を支えるキューイングシステムの選び方
by
Yoshiyasu SAEKI
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
分散トレーシング技術について(Open tracingやjaeger)
by
NTT Communications Technology Development
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
by
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
by
yoku0825
Elasticsearchを使うときの注意点 公開用スライド
by
崇介 藤井
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
マイクロにしすぎた結果がこれだよ!
by
mosa siru
RESTful Web アプリの設計レビューの話
by
Takuto Wada
イマドキ!ユースケース別に見るAWS IoT への接続パターン
by
seiichi arai
More from Yahoo!デベロッパーネットワーク
PDF
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
PDF
継続的なモデルモニタリングを実現するKubernetes Operator
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
by
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes パネルディスカッション
by
Yahoo!デベロッパーネットワーク
PDF
LakeTahoe
by
Yahoo!デベロッパーネットワーク
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
PDF
Persistent-memory-native Database High-availability Feature
by
Yahoo!デベロッパーネットワーク
PDF
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
by
Yahoo!デベロッパーネットワーク
PDF
eコマースと実店舗の相互利益を目指したデザイン #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ビッグデータから人々のムードを捉える #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
サイエンス領域におけるMLOpsの取り組み #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
「新しいおうち探し」のためのAIアシスト検索 #yjtc
by
Yahoo!デベロッパーネットワーク
PDF
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
by
Yahoo!デベロッパーネットワーク
ゼロから始める転移学習
by
Yahoo!デベロッパーネットワーク
継続的なモデルモニタリングを実現するKubernetes Operator
by
Yahoo!デベロッパーネットワーク
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
by
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes パネルディスカッション
by
Yahoo!デベロッパーネットワーク
LakeTahoe
by
Yahoo!デベロッパーネットワーク
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
Persistent-memory-native Database High-availability Feature
by
Yahoo!デベロッパーネットワーク
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
by
Yahoo!デベロッパーネットワーク
eコマースと実店舗の相互利益を目指したデザイン #yjtc
by
Yahoo!デベロッパーネットワーク
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
by
Yahoo!デベロッパーネットワーク
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
by
Yahoo!デベロッパーネットワーク
ビッグデータから人々のムードを捉える #yjtc
by
Yahoo!デベロッパーネットワーク
サイエンス領域におけるMLOpsの取り組み #yjtc
by
Yahoo!デベロッパーネットワーク
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
by
Yahoo!デベロッパーネットワーク
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
by
Yahoo!デベロッパーネットワーク
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
by
Yahoo!デベロッパーネットワーク
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
by
Yahoo!デベロッパーネットワーク
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
by
Yahoo!デベロッパーネットワーク
「新しいおうち探し」のためのAIアシスト検索 #yjtc
by
Yahoo!デベロッパーネットワーク
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
by
Yahoo!デベロッパーネットワーク
Recently uploaded
PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
PPTX
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」
by
Sugiyama Yugo
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers
by
たけおか しょうぞう
DrupalCon Nara 2025の記録 .
by
iPride Co., Ltd.
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習...
by
PC Cluster Consortium
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料)
by
NTT DATA Technology & Innovation
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf
by
TomohiroKusu
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
1.
At least onceってぶっちゃ け問題の先送りだったよね -
Apache Kafka Meetup Japan #3 - @shoe116
2.
アジェンダ 1. はじめに:自己紹介とsemanticsについて 2. 言い訳をするしかない状況についての共有と 謝罪 3.
at least onceとETL苦労話 4. KIP-98, 129で解決すること、しないこと
3.
1. はじめに
4.
1.1 about me •広告系→データ分析屋→HadoopでETL •利用なう:Storm/Tez/Hive.
Kafkaはconsume のみ •Java = Python > JavaScript > C++ •No Music, No Life. No Music, No Idol. •課外活動はこちら • https://shoe116.tumblr.com/
5.
1. at least
once(少なくとも1回) • 重複するかもしれないが、欠損はしない 2. at most once(最大1回) •欠損するかもしれないが、重複はしない 3. exactly once(正確に1回) •欠損も重複もしない •分散システムだと実装が非常に困難 1.2 semanticsについて
6.
2. 言い訳をするしかない 状況についての共有と謝罪
7.
• at least
onceだと、ETLする側としては「重複をどうす るか問題」は避けられないし、カジュアルに頼まれます • ここでLTすることになった当時(6月上旬)では確かに kafkaはexactly onceをサポートしてなくて、かつて僕 はkafka由来の重複排除の仕組みを考えました • それが、6/30(現地時間)のkafka0.11のリリースで exactly once(KPI-98, 129)対応がされて、僕が作った モノとLTで話すネタはオワコン化した可能性が・・・ • exactly once semanticsの詳しい話したかったけど コードまでは読む時間なかったです、ごめんなさい • 噂によると懇親会中に実装の解説してくれるらしいよ
8.
3. at least
onceと 重複排除苦労話
9.
3.1 弊社のデータパイプライン producer (DC1) kafka (DC4) storm (DC4) TEZ (DC4) Hive (DC4) kafka (DC1) producer (DC2) kafka (DC2) kafka (DC5) storm (DC5) TEZ (DC5) Hive (DC5) producer (DC3) kafka (DC3) At
Least Once At Least Once Exactly once ( & unify) Partitioning At Least Once At Least Once At Least Once
10.
3.2 重複排除の方法 1. kafkaのmessageにIDを埋めてproduce 2.
HDFSにIDをkey, DATAをvalueにして write 3. TezでIDをkeyにshuffleして重複排除処理 ID: asdfghjkl;:] Body: {aaa, bbb, ccc}ID: asdfghjkl;:] Body: {aaa, bbb, ccc}ID: asdfghjkl;:] DATA: {aaa, bbb, ccc} kafka storm HDFS $ID $DATA $ID $DATA $ID $DATA $ID $DATA $ID $DATA $ID $DATA $ID $DATA TEZ HDFS $ID $DATA $ID $DATA $ID $DATA $ID $DATA $ID $DATA
11.
3.2 重複排除にまつわる苦労話 1. 完全な意味での重複排除は困難 •
読み込める重複IDの量には限りがある • time windowを決めてその中で排除するしかない 2. パイプラインの正常稼働をどう担保するか • at least once = 件数はそのままor増える • 重複排除 = 件数はそのままor減る • 「件数が同じならOK」みたいな確認はできなくなる
12.
4. KIP-98, 129で 解決すること、しないこと
13.
4.1 KIP-98, 129で新規追加 1.
Partition単位でのidempotentなproduce • producerでsequentialなIDを発行 • messageとともにIDをbrokerに送ってhandlingする 2. 複数partitionに対するtransactionalなwrite • ごくごく一般的なTwo-Phase Commit • producerがtransactionをbegin, commit, abort 3. 同一Kafka内でのexactly-once stream処理 • messageのsendとoffsetのcommitを1リクエストで行う
14.
4.2 KIP-98, 129で解決しない 1.
Exactly onceなKafka mirroring •MirrorMakerはクラスタをまたぐ •クラスタまたぎのTransactionは管理されない 2. Kafka以外のコンポーネントに書き出す場合 • これまで通り、書き出す側でのstateの管理が必要 3. オペレーション/実装のミスでmessageが ダブってproduceされる場合(当然)
15.
関連資料 • https://archive.apache.org/dist/kafka/0.11.0.0/RELEASE_NOTES.html • https://www.confluent.io/blog/exactly-once-semantics-are-possible- heres-how-apache-kafka-does-it/ •
https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+- +Exactly+Once+Delivery+and+Transactional+Messaging
Download