SlideShare a Scribd company logo
Apache Kafka 0.11
Exactly Once Semantics
/ @laclefyoshi / ysaeki@r.recruit.co.jp
•
• Kafka
• Exactly Once :
•
2
• 2011/04
• 2015/09
•
• Druid (KDP, 2015)
• RDB NoSQL ( , 2016; : HBase )
• ESP8266 Wi-Fi IoT (KDP, 2016)
•
• (WebDB Forum 2014)
• Spark Streaming (Spark Meetup December; 2015)
• Kafka AWS Kinesis (Apache Kafka Meetup Japan #1; 2016)
• (FutureOfData; 2016)
• Queryable State for Kafka Streams (Apache Kafka Meetup Japan #2; 2016)
• Apache Spark ( Geek Night #11; 2016)
• (BigData-JAWS #6; 2017)
3
Kafka
Kafka
5
Kafka
ACK
→
ACK
→
6
Kafka
Broker
→
7
Kafka
→
→
8
Kafka
At Least Once At Most Once
9
Kafka
At Least Once At Most Once Exactly Once
9
Exactly Once :
Kafka 0.11.0.0
• 2017/06/28
• KIP-129 → KAFKA-4923: Add Exactly-Once Semantics to Streams
• https://issues.apache.org/jira/browse/KAFKA-4923
• Confluent Blog: Exactly-once Semantics are Possible: Here’s How
Kafka Does it
• https://www.confluent.io/blog/exactly-once-semantics-are-possible-
heres-how-apache-kafka-does-it/
• “In the following posts in this series, we will go into more details …”
• Exactly Once Delivery and Transactional Messaging in Kafka
• https://docs.google.com/document/d/
11Jqy_GjUGtdXJK94XGsEIK7CP1SnQGdp2eF0wSw9ra8/
• KIP-98 → KAFKA-5059: Implement Transactional Coordinator
11
Apache Kafka 0.11 の Exactly Once Semantics
Kafka
13
Kafka : Exactly Once
14
Producer Exactly Once
15
Producer Exactly Once
1.
2.
3. x N
4. →
16
Producer Exactly Once
1.
2.
3. x N
4.
→
→
→ 1
17
Producer Exactly Once
5.Broker Commit Marker 

COMMITTED ABORTED
↓ ↓
18
Consumer Exactly Once
19
Consumer Exactly Once
6. 

↓
READ_COMMITTED
↓
READ_UNCOMMITTED
20
Consumer Exactly Once
7.
8. 

- COMMITTED 

- ABORTED Transaction List 

21
• Kafka API RecordBatch
• Kafka < 0.11 Message MessageSet
API
• Kafka 0.11 MessageSet/Message RecordBatch/Record
•
• Producer Broker Consumer
ID PID Producer ID
22
Exactly Once
• : Exactly Once
• Producer
• Broker
• Commit Marker
• Consumer
•
→ OSS
• Exactly Once
• Producer Broker
• Consumer
• 3%
•
• Confluent
• OSS
Kafka
• Exactly Once
24

More Related Content

What's hot (20)

PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
PDF
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PDF
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Yahoo!デベロッパーネットワーク
 
PDF
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
 
PDF
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
 
PDF
Vacuum徹底解説
Masahiko Sawada
 
PPT
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
PDF
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
 
PPTX
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
 
PDF
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
 
PDF
Where狙いのキー、order by狙いのキー
yoku0825
 
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
PPTX
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PDF
BuildKitの概要と最近の機能
Kohei Tokunaga
 
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
 
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Yahoo!デベロッパーネットワーク
 
Apache Spark の紹介(前半:Sparkのキホン)
NTT DATA OSS Professional Services
 
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
 
Vacuum徹底解説
Masahiko Sawada
 
Cassandraのしくみ データの読み書き編
Yuki Morishita
 
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
 
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
 
Where狙いのキー、order by狙いのキー
yoku0825
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
BuildKitの概要と最近の機能
Kohei Tokunaga
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
 

Similar to Apache Kafka 0.11 の Exactly Once Semantics (9)

PDF
Exactly-once Semantics in Apache Kafka
confluent
 
PDF
TDEA 2018 Kafka EOS (Exactly-once)
Erhwen Kuo
 
PDF
Exactly-once Data Processing with Kafka Streams - July 27, 2017
confluent
 
PDF
Kafka Summit SF 2017 - Exactly-once Stream Processing with Kafka Streams
confluent
 
PDF
Building Stream Processing Applications with Apache Kafka's Exactly-Once Proc...
Matthias J. Sax
 
PPTX
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
PDF
Exactly-once Stream Processing Done Right with Matthias J Sax
HostedbyConfluent
 
PDF
Introducing Exactly Once Semantics in Apache Kafka with Matthias J. Sax
Databricks
 
PDF
Consistency and Completeness: Rethinking Distributed Stream Processing in Apa...
Guozhang Wang
 
Exactly-once Semantics in Apache Kafka
confluent
 
TDEA 2018 Kafka EOS (Exactly-once)
Erhwen Kuo
 
Exactly-once Data Processing with Kafka Streams - July 27, 2017
confluent
 
Kafka Summit SF 2017 - Exactly-once Stream Processing with Kafka Streams
confluent
 
Building Stream Processing Applications with Apache Kafka's Exactly-Once Proc...
Matthias J. Sax
 
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
Exactly-once Stream Processing Done Right with Matthias J Sax
HostedbyConfluent
 
Introducing Exactly Once Semantics in Apache Kafka with Matthias J. Sax
Databricks
 
Consistency and Completeness: Rethinking Distributed Stream Processing in Apa...
Guozhang Wang
 
Ad

More from Yoshiyasu SAEKI (11)

PDF
Apache EventMesh を使ってみた
Yoshiyasu SAEKI
 
PDF
StackStormを1年間データ基盤で使ってみてぶつかったトラブルとその解決策の共有
Yoshiyasu SAEKI
 
PDF
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
 
PDF
データの民主化のために StackStorm を活用した事例
Yoshiyasu SAEKI
 
PDF
Apache Kafkaとグラフデータベースによる成長するネットワークグラフを分析・可視化する基盤
Yoshiyasu SAEKI
 
PDF
ストリーミングデータのアドホック分析エンジンの比較
Yoshiyasu SAEKI
 
PDF
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Yoshiyasu SAEKI
 
PDF
Queryable State for Kafka Streamsを使ってみた
Yoshiyasu SAEKI
 
PDF
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
 
PDF
Spark Streamingによるリアルタイムユーザ属性推定
Yoshiyasu SAEKI
 
PDF
Voldemortの紹介
Yoshiyasu SAEKI
 
Apache EventMesh を使ってみた
Yoshiyasu SAEKI
 
StackStormを1年間データ基盤で使ってみてぶつかったトラブルとその解決策の共有
Yoshiyasu SAEKI
 
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
 
データの民主化のために StackStorm を活用した事例
Yoshiyasu SAEKI
 
Apache Kafkaとグラフデータベースによる成長するネットワークグラフを分析・可視化する基盤
Yoshiyasu SAEKI
 
ストリーミングデータのアドホック分析エンジンの比較
Yoshiyasu SAEKI
 
Apache Sparkにおけるメモリ - アプリケーションを落とさないメモリ設計手法 -
Yoshiyasu SAEKI
 
Queryable State for Kafka Streamsを使ってみた
Yoshiyasu SAEKI
 
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
 
Spark Streamingによるリアルタイムユーザ属性推定
Yoshiyasu SAEKI
 
Voldemortの紹介
Yoshiyasu SAEKI
 
Ad

Recently uploaded (20)

PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 

Apache Kafka 0.11 の Exactly Once Semantics