3 ms·
Sure, and I'm not saying that something like database normalization is not useful. I just don't think that the "Habits of Expert Software Designers" like Jeff
by jorangreef 5y ago
Sure, and I'm not saying that something like database normalization is not useful.
I just don't think that the "Habits of Expert Software Designers" like Jeff Dean or Martin Thompson are to be found in how they would design normalized SQL schemas when asked [1].
Rather, it's in how they would build things like LSM-Trees or Replicated State Machines. And I think if one looks at that design process, one would find that they reach for back-of-the-envelope calculations far more often than most other tools. They appear to take a first principles approach.
Again, that doesn't mean that database normalization is not a useful tool. I just wouldn't put any kind of abstract modeling approach alongside a first principles approach when it comes to systems design.
[1] Regarding normalized SQL schemas, I wouldn't be surprised if people like Jeff Dean or Martin Thompson went denormalized where it made more sense, or eschewed database indexes in favor of learned indexes, to optimize not only for performance but also for cost or time to recovery etc.
- bob1029 5y agoSQL is just one tool/representation. I would focus more on the idea of "managing complexity" more than any specific technological implementation of this idea. This gets me back to Excel. Really hard to get opinionated about a computerized spreadsheet representation.