An alternative to polling clients | Architectural Simplification
2024-03-20
Description
How do polling clients impact your database? To answer this question, Cockroach Labs Technical Evangelist Rob Reid ran a test by comparing: 1️⃣ Before: A service which is writing to the database, has multiple consumers spun up to poll the database to check for changes, performing a SELECT from the table, and simulating a request for the last 10 seconds of data. 2️⃣ After: The same service writing updates to the database but using CDC (Change Data Capture), publishing messages to a message queue, and pushing messages to each of the consumers. Watch more videos in our Architectural Simplification series: https://studio.youtube.com/playlist/PL_QaflmEF2e9Dgiw8lW-Z8jq7TNDNy_3V/edit You'll learn why using distributed SQL database CockroachDB's built-in CDC provides several benefits including: ✔️ Tighter bounded contexts with less application responsibility creep ✔️ Reduced read load on your database ✔️ More efficient use of the database ✔️ Less application code to manage ✔️ Less to go wrong Additional resources ✔️ What is CockroachDB? https://cockroa.ch/42uaZ9G ✔️ CockroachDB architecture overview: https://cockroa.ch/3RzIvrh An alternative to polling clients | Architectural Simplification 00:00 Introduction 00:08 Before and after architectural diagrams 00:35 Spinning up CockroachDB and creating an events table 01:07 What happens when you scale things up? 01:29 Simulating a push-based consumer via CDC 01:49 Running the same test with a push-base consumer with the same number of consumers 02:29 The benefits of having CDC built into CockroachDB