One of the problems is that people will give different answers depending on their expertise and there are very few people who have deep knowledge of database development and backend development and supporting large production systems because in the larger enterprise organizations people tend to specialise. I have around 20 years experience using Oracle database and can kind of translate that to other database servers e.g. postgres, sql server etc. I have a bit of knowledge of writing services in c#, ruby or java. Previously I would have advocated putting all the logic into the database but I'm starting to realise some of the compromises involved.
Reading the Oracle or postgres documentation gives a lot of information about the internals, tuning, acid etc although it can be a bit dry...
That's an interesting perspective. Coming from a background of primarily developing backend services and using databases as a necessary tool, I usually approach it the other way and steer clear of stored procedures, triggers and the like. I guess it's also a matter of using the tools that you're most comfortable with.
Of course. At least in the UK and probably elsewhere large businesses, banks, government etc often have a large centralized systems based on a single or set of relational databases. A lot of the logic was controlled on the database either by constraints/checks etc or stored procedure access so it didn't have to to be replicated across the many disparate systems which connect to it. This is slowly changing, very slowly in some cases!
I can understand why that might be a surprise if you've been working for <10 years and mainly on new SAAS style products.
Reading the Oracle or postgres documentation gives a lot of information about the internals, tuning, acid etc although it can be a bit dry...