Event Sourcing in a Highly Distributed Environment
Event sourcing is a data management strategy that stores changes to a data model rather than just the model's current state. It uses an append-only event log to ensure zero data loss. By replaying events from the log, you can establish the current state of the model. These data integrity and replay benefits make event sourcing a useful technique for dealing with intermittently connected mobile devices . It also enables client applications to access and update data in a distributed environment without losing any updates . In this presentation I share my experience with event sourcing in a globally distributed web application. We use the technique to share data models between mobile and web-based clients of an online clinical decision support system. The application runs on multiple data centers around the world. A distributed event store, using the NoSQL database Couchbase , tracks article views and bookmark related events. Once in the database, the events can be queried