Hacker News new | ask | show | jobs
by axisofpleasure 2403 days ago
As a 25 year career DBA, moving to a DB agnostic methodology has merits as it allows very re-usable code, however the downside is that you never get to realise the strengths a particular DB technology can offer in terms of performance. Wriing in ORMS and high-level frameworks may be good for making your product very adaptable but don't expect your product to be lightning fast when it's performance pounded and tested. I've worked on performance testing DB techs and seen what happens when a vendor tries make a "one-size fits all" solution, it quickly loses scalability. If raw performance is your goal, don't even try to be agnostic, tweak every last advantage you need. When you have a trading app that's making thousands of upserts a minute you need every bit of help you can get in your app. If simply allowing data storage is all you need, then agnostic may be right for you. However to throw a curve ball in, buying raw processing power is dirt cheap these days, and you'll get something by throwing more CPU and memory at a problem, but your scalability will tail of at somepoint and you have to decide if that platau point is acceptable.