Leveraging a database server (such as MySQL or MS SQL Server) will save you a lot of work. It saves significant effort in dealing with concurrency management, file fragmentation, caching, and data consistency. Obviously, then, not using a database product would require us to handle many of those concerns on our own.
However, if we did choose to brave a rougher road to Event Stores, we do have some help. For example, Windows Azure Blob storage and simple file system storage are at our disposal, and the sample project includes implementations of both.
Let’s consider some design guidelines for building an Event Store without a database, some of which are summarized by Figure A.15:
1. Our custom storage is composed of a set of one ...