EventStoreDB is a powerful operational database specifically designed for event-driven architecture. It uses a state-transition data model, storing events as a fundamental building block and overcoming the challenges of traditional intentional data loss architecture.
Whilst EventStoreDB is suited to an infinite number of use cases across almost every industry, in this blog post, let's explore the four major use cases where we are seeing substantial EventStoreDB adoption.
1) Greenfield, New Applications:
For modern microservices software architectures, Event Sourcing with EventStoreDB represents an important option and is considered best practice by many.
When starting a new project from scratch, EventStoreDB allows you to capture all your data as state transition events, enabling you to project and leverage this data for real time user interfaces, synchronizing between microservices, integrations with other systems, as well as feeding pretty much any other downstream data technology.
Find out how ParcelVision created a new project with EventStoreDB to reliably scale their logistics platform.
2) Incremental Legacy Systems Migration:
In this use case, EventStoreDB plays a crucial role in modernizing existing legacy systems.
Instead of undertaking a full rewrite, a portion of the legacy system is selected for rewriting/modernization. Updates are directed to the new service built with EventStoreDB, while the legacy systems continue to operate as read models, receiving data in real time.
This approach allows for incremental rewrites of monolithic legacy systems, preserving the existing read paths. EventStoreDB's inherent connection and streaming capabilities make it possible to start small and gradually replace these legacy systems.
Here’s how Insureon gained business intelligence by updating their legacy system to EventStoreDB.
3) Sidecar Source of Truth:
The Sidecar Source of Truth pattern has gained popularity for operational systems with traditional current state-based databases, when the system:
- Cannot be rewritten, or
- Where value wants to be received sooner on the path to leveraging EventStoreDB more fully in the future
Rather than rewriting the entire system, EventStoreDB is implemented alongside one or more existing systems as a Sidecar Source of Truth. Operational system events are pushed into EventStoreDB, and its powerful projection capabilities process these low-level events into more meaningful high-level events, such as domain events or integration events.
Many organizations require processing of the events before transmitting them to the rest of the enterprise. Moreover, the ability to retain the original events becomes vital for future reference and understanding of past occurrences.
EventStoreDB proves to be an ideal solution for preserving this information. Data is stored and processed in real time, shaped, and streamed to an enterprise message bus like Kafka or directly into read models for use by practically any downstream technology. Of course, these events can be replayed at any time later as well, providing important flexibility and agility when business requirements change.
Read our Wiser case study to learn how they’ve leveraged the Sidecar Source of Truth with Event Store Cloud.
EventStoreDB can also be used for messaging scenarios. With its assured writes, ordering guarantees, and pub/sub semantics, EventStoreDB can serve as a reliable messaging system. However, caution is advised when adopting EventStoreDB solely for this purpose. EventStoreDB is a database technology first and, depending on your specific requirements and scalability needs, there might be more specialized messaging solutions that make sense depending on the scenario.
Learn how EventStoreDB can work with Kafka to help you build reliable and scalable Event Driven Architecture.
EventStoreDB offers immense value across various use cases, empowering developers and architects to build scalable, event-driven systems. Whether you're starting from scratch, modernizing legacy systems incrementally, implementing a Sidecar Source of Truth, or exploring messaging scenarios, EventStoreDB provides the necessary features and flexibility to meet your data needs. By understanding the strengths and considerations of each use case, you can leverage EventStoreDB effectively and unleash the power of event-driven architectures in your applications.