Sign in

Editor of Event-driven Utopia(eventdrivenutopia.com). Technologist, Writer, Developer Advocate at StarTree. Event-driven Architecture, DataInMotion
Photo by Cristian Dina from Pexels

In this article, you’ll learn the foundations of event-driven APIs, how they interact with consumers, the technology choices to build them, and how to document them with AsyncAPI specification.

Polling is dead. We must move on

We, as information consumers, have a craving desire to know things as they happen.

Where is my package right now? What’s…


A visual guide to Dapr by Nitya Narasimhan

Microservices architectures are inherently distributed. Building Microservices always bring in the most challenging problems, such as resilient service invocation, distributed transactions, on-demand scaling, and exactly-once processing of messages.

Putting Microservices on Kubernetes doesn’t always solve these problems as Kubernetes doesn’t have an application logic. Frameworks like Spring Boot, Akka, and…


A Rube Goldberg Machine — Credits

This post serves as an introduction to the Change Data Capture (CDC) practice, rather than a deep-dive on a particular tool. First, I will explore the motivation behind CDC and illustrate the components of a real-time event-driven CDC system. …


Photo by SpaceX on Unsplash

Elon Musk has been busy making rocketry at SpaceX for making interplanetary travel a reality.

Meanwhile, we, mere mortals, can analyze his launch statistics to see how far he’s been successful at it.

This article will discuss how you can use Apache Pinot to do exploratory analysis on a SpaceX…


Photo by AJ Robbie on Unsplash

They say that data is the new crude oil. You have to extract it and refine it before making good use of it.

But what if the entire refinement process takes too long? What value can you get from the data that didn’t arrive on time?

I would say we…


A still from the movie Moneyball (2011)

Well, this article is not about the movie Moneyball, which once glorified data-driven decision-making. We’ll take some lessons from there and try to apply them in the context of a digital product.

If you own a digital product such as a website or a mobile app, you must be getting…


Photo by Kym Ellis on Unsplash

This post is the second installment of my streaming databases series, which talks about a special breed of databases that are meticulously designed to perform OLAP workloads on large data sets.

Today, we discuss Apache Pinot, an open-source real-time OLAP database built at LinkedIn and powers many production workloads at…


Photo by Volodymyr Hryshchenko on Unsplash

In the previous post of this series, we learned how to convert an immutable event stream into a mutable table, which we can call a materialized view. Then we saw how we could leverage stream processing to maintain the materialized views across multiple machines in a reliable and scalable manner.


Photo by Etienne Boulanger on Unsplash

In the first part of this series, we learned the fundamentals of materialized views, along with their shortcomings. Then I introduced you to stream processing as a scalable way of maintaining self-updating materialized views.

This post explores two essential concepts in stateful stream processing; streams and tables; and how streams…


Photo by Olav Ahrens Røtne on Unsplash

I started a new article series sometime back to talk about streaming databases. While I was reading upon them, I found out that some of them are based on incrementally updated materialized views while others execute queries on demand but do it really fast.

So I thought of starting this…

Dunith Dhanushka

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store