I’m currently developing a backend application using event sourcing and CQRS, and was considering CockroachDB as a database for the project. Like many event sourced applications, I’m storing a BLOB in a row for every event, and occasionally saving a snapshot for an entity for every 50 persisted events or so. The size of a blob may become as large as 10 kilobytes, and we are expecting 0.5 milllion concurrent users, with each user persisting approximately 0.5 events/sec. (Of course, this is a really wild guess.)
In this case, will CockroachDB as an event store be a good option? I’m not hoping for unbelievable latency numbers, and will be happy if the P50 value stays lower than 12ms or so. So far, the design as I understand by reading the docs seems really promising, as the scaling out option for the cluster seemed like a no-brainer, and the consistency guarantees of CockroachDB itself seems like a good reason to use it as an event store.