If you ask a Software Architect which database technology you should use
Well, it depends on the architect, I suppose. I would say “write your application in a modular way so that it doesn’t rely on specific features of the underlying database, and if you need to make exceptions to this principle, make sure the relevant code sections and dependencies are well highlighted and documented.”
I agree that as much as possible you want to make things modular, but good data processing code for a relational database is going to be really different than good code for a distributed key-value store or a mapreduce+cache setup.
Good call. This is a great example of how sometimes experts can even point out that you’re thinking at the wrong level of abstraction, and provide a better one.
Well, it depends on the architect, I suppose. I would say “write your application in a modular way so that it doesn’t rely on specific features of the underlying database, and if you need to make exceptions to this principle, make sure the relevant code sections and dependencies are well highlighted and documented.”
I agree that as much as possible you want to make things modular, but good data processing code for a relational database is going to be really different than good code for a distributed key-value store or a mapreduce+cache setup.
Good call. This is a great example of how sometimes experts can even point out that you’re thinking at the wrong level of abstraction, and provide a better one.