Is it really that hard for people to maintain database changes?
Is it really that hard for people to maintain database changes?
But yes, for some people it can be difficult to do this. It slows development, it makes programmers have to do sysadmin work (which in a two-person company without a specialised sysadmin can be difficult).
As another use-case, there was a point at which Twitter would take days or weeks to implement even minor schema changes across their entire MySQL cluster without impacting production.
And some people are solving problems that just do have unstructured or semi-structured data, rather than your assumption here that it's just a proxy for avoiding schema changes
Comparing Mysql migration to Postgres is not really helping this discussion. Postgres has transaction DDL with many schema change operations being O(1).
Most of the time your data has structure. Only parts of it are usually semi-structured. And yeah, I had this problem too, until I automated it and don't have it anymore. So I guess I'm a little annoyed when I see that schema change automation didn't really took off and people accepted JSON as a storage medium.
If I didn't want to be constrained by a schemas I'd just go with a NoSQL solution. Nothing wrong with that either.
If you're a two-person company without a specialized sysadmin, programmers having to do sysadmin work should be inevitable, normal, and expected, not "difficult".
Sometimes there is a need to unstructured data, and if you are already using Postgres, hstore is a great alternative to adding another database backend to your stack.
http://blog.artlogic.com/2012/10/29/performance-of-custom-fi...