I don't know why we use ORM in the first place. I mean, if your data isn't relational, why are you putting it in a relational database? Why not use a simpler persistence layer?
Because relational databases are an extremely stable and reliable persistence layer, that is widely understood, can usually be scaled up through various well practiced techniques from clustering to sharding, and makes it easy to optimise the handful of bottlenecks you're guaranteed to run into by bypassing the ORM system and doing some direct SQL or stored proc queries for those handful of bits that need it.
Comments
I don't know why we use ORM in the first place. I mean, if your data isn't relational, why are you putting it in a relational database? Why not use a simpler persistence layer?
Because relational databases are an extremely stable and reliable persistence layer, that is widely understood, can usually be scaled up through various well practiced techniques from clustering to sharding, and makes it easy to optimise the handful of bottlenecks you're guaranteed to run into by bypassing the ORM system and doing some direct SQL or stored proc queries for those handful of bits that need it.