Skip to Main Content
Building Real-Time Analytics Systems
book

Building Real-Time Analytics Systems

by Mark Needham
September 2023
Beginner to intermediate content levelBeginner 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
Graph-Powered Analytics and Machine Learning with TigerGraph

Graph-Powered Analytics and Machine Learning with TigerGraph

Victor Lee, Phuc Kien Nguyen, Alexander Thomas
Architecting Data and Machine Learning Platforms

Architecting Data and Machine Learning Platforms

Marco Tranquillin, Valliappa Lakshmanan, Firat Tekiner

Publisher Resources

ISBN: 9781098138783Errata PageSupplemental Content