Skip to Content
Building Real-Time Analytics Systems
book

Building Real-Time Analytics Systems

by Mark Needham
September 2023
Beginner to intermediate
220 pages
4h 36m
English
O'Reilly Media, Inc.
Book available
Content preview from Building Real-Time Analytics Systems

Chapter 9. Upserts in the Serving Layer

AATD’s operations team is happy with the progress we’ve made so far. They’re now able to get real-time insights into popular products and categories, which is making procurement significantly easier.

But (and there’s always a but, isn’t there?), they’ve been receiving complaints about delayed orders, and at the moment, they don’t have any insight into what’s happening with the delivery of orders to customers. Customers would also like to know the status of their order and when it’s likely to arrive at their residence.

In this chapter, we’re going to solve both of those problems. We’ll introduce order and delivery statuses, which will evolve over time. Working with this type of data will require the service to handle multiple events for the same order. In addition to wanting to know the latest status, we’ll also want to know how that status has changed over time.

It’s gonna be a fun chapter!

Order Statuses

As mentioned earlier, users want to be able to track the status of their order from when it’s placed until it’s delivered to them, and operators want to know if any orders aren’t being fulfilled in a timely manner. To provide this functionality, we’ll need to have order statuses.

We’re going to add an ordersStatuses topic to Kafka to keep track of these states. Orders will go through the following stages:

  • PLACED_ORDER

  • ORDER_CONFIRMED

  • BEING_PREPARED

  • BEING_COOKED

  • OUT_FOR_DELIVERY

  • ARRIVING_AT_DOOR

  • DELIVERED

In a real system, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Building Real-Time Analytics Applications

Building Real-Time Analytics Applications

Darin Briskman
Advanced Analytics with PySpark

Advanced Analytics with PySpark

Akash Tandon, Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills
Analytics Engineering with SQL and dbt

Analytics Engineering with SQL and dbt

Rui Pedro Machado, Helder Russa

Publisher Resources

ISBN: 9781098138783Errata PageSupplemental Content