• I think the first thing to consider is that as Steve pointed out most of us aren't operating at the Google/Facebook/Spotify/Netflix scale. It might also help to realize that it isn't always scale. For instance, web pages have only a "sort of" schema. What schema is defined isn't enforced with browsers being extremely adept at displaying in spite of violation of what should (or shouldn't) be present. In the document world, the lack of hard schema makes a lot of sense. For that matter, if I were dealing with something like Facebook I also might look for something outside the traditional SQL database.

    Probably one should start in thinking about how their data relates to other data. Most situations have some defined relationships that follow reasonably easy rules. Further, most of the time the easier on developers is only true at the early stages. Later, the lack of structure comes home to roost and the developer moves to another area pretending they didn't leave a mess behind. They then get to complain about the mess the other developer (just like them) left behind.