I sometimes wonder if we've got databases all wrong.
We organize the data into logical blocks, and then we connect those blocks together in such a way that we think makes sense. We then spend our lives arguing about what should be in the blocks and how we should connect them together. We also worry about where the blocks should live and the best way of connecting the blocks together. We worry about the best way of keeping the blocks as small as possible (and so it goes on and on).
In the end we realize that our blocks and connections don't scale so well, and the best method of scaling is one big block, which we can chop up into little pieces.
Perhaps we are not so good at organizing the data, maybe we should let the data organize itself.