Hacker News new | ask | show | jobs
by mattbriggs 5149 days ago
"no schemas" means "schema in the application layer". sometimes its nice for the additional flexibility, but its never as reliable.
1 comments

And not only that, your application becomes littered with:

if (data.schema_version === 1) { ... } else if (data.schema_version === 2) { ... }

UGH!

But it is better than not having the ability to change the schema when there are more than a few million rows, thanks to the enormous time taken
That's just a limitation of MySQL, not relational databases in general. In Postgres you can do it live in a transaction.
Schemaless would let you add/remove a field easily. What is hard is if you need to restructure things, which is also probably a more common occurence in a document db then a relational one. If you hit a few million rows, you are in for a world of hurt changing things in any data store