change data capture using kafka

27
Change Data Capture Using Kafka Akash Vacher 2016/06/11

Upload: akash-vacher

Post on 16-Apr-2017

652 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: Change Data Capture using Kafka

Change Data Capture Using Kafka

Akash Vacher2016/06/11

Page 2: Change Data Capture using Kafka

▪Akash VacherSite Reliability EngineerData Infrastructure Streaming (Bengaluru)Linkedin

Page 3: Change Data Capture using Kafka

Agenda▪ Story of a webapp

▪ Problems

▪ Answer

▪ Proposed solution

▪ Why Kafka?

▪ Refined solution

▪ Q and A

Page 4: Change Data Capture using Kafka

Story of a Webapp

Page 5: Change Data Capture using Kafka
Page 6: Change Data Capture using Kafka
Page 7: Change Data Capture using Kafka
Page 8: Change Data Capture using Kafka
Page 9: Change Data Capture using Kafka

Dual writes

Page 10: Change Data Capture using Kafka

Problems

Page 11: Change Data Capture using Kafka

Inconsistent data stores

Page 12: Change Data Capture using Kafka

Atomic writes are a pain

Page 13: Change Data Capture using Kafka

The answer?

Page 14: Change Data Capture using Kafka
Page 15: Change Data Capture using Kafka

The humble log!

Page 16: Change Data Capture using Kafka

Database Replication

Page 17: Change Data Capture using Kafka
Page 18: Change Data Capture using Kafka

Proposed solution

Page 19: Change Data Capture using Kafka
Page 20: Change Data Capture using Kafka

The log should be…

• Scalable

• Durable

• Low latency

• High throughput

• Allow bootstrapping – Have data persistence

Page 21: Change Data Capture using Kafka

Is Kafka a good fit?

Page 22: Change Data Capture using Kafka

Kafka has it all

▪ Horizontally Scalable

▪ Durable – Replication at Partition level

▪ Low latency

▪ High throughput

▪ Data is kept on disk

▪ Log compaction

Page 23: Change Data Capture using Kafka

Log Compaction

Page 24: Change Data Capture using Kafka

Revisiting proposed solution

Page 25: Change Data Capture using Kafka

Revised Solution

Page 26: Change Data Capture using Kafka

Change Data Capture

Page 27: Change Data Capture using Kafka

Questions?