Relational databases and object oriented languages have very different paradigms. Identity and relationships have distinct implementations. And the difficulty of creating and navigating data varies, both conceptually and performance-wise.

Speed bumps pop up when transferring data from a relational database to an object oriented model. It's tempting to let ORMs (e.g. Doctrine) hide this "object hydration" problem. Then one day, performance starts mattering. This talk will explore several solutions to the problem, and when to use them.


Comments are closed.

Jakub Zalas at 08:36 on 28 Mar 2017

An excellent explanation of compromises we make when choosing to use an ORM. I was missing a suggestion that ORMs are designed to solve 80% of your persistence problems, but 20% you need to solve yourself. It's not a question of whether to use an ORM or not, but in which parts of your app not to use it.