4 ms·
1) it will tie you to a specific database. As a counterpoint, tying yourself to a specific database is the only way to actually use any database to its full po
by dagw 4y ago
1) it will tie you to a specific database.
As a counterpoint, tying yourself to a specific database is the only way to actually use any database to its full potential. I'm a big fan of Postgres and use it basically all my projects. But if I was forced to write my code in a way that I could easily swap Postgres for MySQL or Oracle at a moments notice, I would lose much of the value that I feel Postgres offers.
- nivertech 4y agoOnly if your architecture is CRUD. Under CQRS/ES you are DBMS independent, and you can still use RDBMS for its full potential on the read/querying side.
- slekker 4y agoHow? Would you mind expanding a little bit?
- nivertech 4y agoCQRS simply means "replicate the data", while ES refers to event sourcing. When used together, CQRS/ES entails replicating data on various storage systems by replaying events from the Event Store. This replication can occur continuously on any RDBMS, and you can utilize all of its features, including vendor-specific ones, for querying. In this setup, your application houses domain-specific code, also known as the "core domain" in DDD terms, while generic code exists in generic tools like RDBMS, called the "generic sub-domain." For example, report generation is in generic subdomain, and RDBMSes are great at that.