One key aspect of successful #DBMS for me is the extensibility with stored procedures, bringing the programming close to the data. Bonus points if the #UDF s integrate neatly with the declarative query language and have proper transaction integration. Think #Neo4j and #Java (ie #APOC), yes, also #Oracle with #PLSQL, Java, and these days also #JavaScript as well as #DuckDB with their plethora of loadable extensions or #Python UDFs.
@rotnroll666 the downside is that from the middleware pov the DB is not just a data store but has business logic and therefore needs to be viewed as a 3rd party system.
@erikp @rotnroll666 another downside is cancelling any cache mechanisms. I would say the best solution is often to not use stored procedures or triggers. The key mechanism for #RDMS is good query planners and efficient indexes, of course on top of #ACID

@motofix The qualities you mention being the key mechanism or as I'd say fundamentals is ofc right. Doesn't change what I was saying, though.

Wrt caching: Which caching? Application caching? For sure, to so im extend. I would argue this is not per se a bad thing. Less data to have at the application.

Database caches: In that I can agree if it is not well implemented.

@erikp

@rotnroll666 @erikp I was thinking of #Hibernate level 1 and 2 cache that we're extensively using.