Lawrence Wagerfield
Lawrence Wagerfield

Reputation: 6621

Which pair of DBMSs offer the fastest read/writes when combined with CQRS?

If I were to adopt CQRS with something like Event Sourcing, then what would people recommend as the best-in-breed technologies for individually reading and writing?

Ideally the proposed solution should be open source. I'm not overly concerned with features like replication/mirroring, since I intend to implement most of this via Event Sourcing.

I've heard Cassandra can be good for writing, and Membase for reading?

Upvotes: 1

Views: 778

Answers (1)

Jonathan Oliver
Jonathan Oliver

Reputation: 5277

At first glance, this sounds like a bit of pre-optimization. In many cases, if a traditional RDBMS meets your requirements, it's easiest/best to go with that solution because of the abundance of tooling and familiarity from development and operations teams alike. Even so, if you're looking for high write performance, Cassandra is an excellent choice.

Another caveat in all of this is that your development model is most likely using blocking IO. This means that your true bottle neck isn't necessarily your database, but how you're performing inserts. For example, if you could batch up writes together into a single call and have another thread continue working, you'll see much higher performance.

But going back to my first point, this sounds like pre-optimization. Do you know exactly which workflows in your system are "slow"? Do you know which need to be optimized? We all want a "fast" solution, but you really need to ask yourself about which workflows and use cases need to bee "fast".

Upvotes: 3

Related Questions