Ask HN: Do you make your apps database agnostic?
https://news.ycombinator.com/item?id=21621051I used all mainstream relational databases so far. While they all follow SQL standards to some level there are vendor differences and extensions on many features.
It seems to me that need for database agnosticism makes sense for specific types of apps, mostly those to be used in general context and by random stakeholders. However, this is typically not the case for majority of projects which are tailored to specific customers and imposing agnosticism on those may very well lead to inelegant and unoptimized code, not to mention constant mental overhead in trying to achieve SQL standard and extra development if support for multiple vendors is desired.
It looks to me that premature agnosticism is similar to premature optimization - there is no need to do it unless your app really fit a specific niche. DB frameworks may make this easier to some extent, but this is also not universal solution since most of those are several times slower then direct database access and thus may not be acceptable, not to mention the overhead of learning to use and troubleshoot it.
What are your thoughts on it ?