3 ms·
> I often wonder: given how much of the complexity of modern DBMSes exists because of constraints imposed by certain use-cases that only pertain in certain busi
by tivert 3y ago
> I often wonder: given how much of the complexity of modern DBMSes exists because of constraints imposed by certain use-cases that only pertain in certain business domains... what efficiencies could we gain if we designed a domain-specific DBMS with the knowledge that use-cases outside of the domain are off-limits and can be ignored?
And how many serious problems would be caused by people not correctly understanding what use-cases could be ignored in their domain?
IMHO, complexity in the service of giving an easier-to-reason-about interface is usually well worth the cost.
- jiggawatts 3y agoPrecisely this type of thinking resulted in S3, which was the answer to: “what if we drop everything in a traditional file system that is not strictly required”? Several modern database platforms are similarly designed around one or more traditional interface assumptions being dropped. IMHO, the biggest one is “interactive transactions” or alternatively: long-running transactions. Anything external to the database that can interact with it in one transaction requires locks and all of the complexity that comes with it, such as dealing with deadlocks. Dropping the requirement for “interactive Telnet-like SQL shells” can massively simplify things.