Gaps between Real World experience and Grokking
For people who have been working in Distributed systems for a while, and have gone over or seen the content of Grokking System Design and /or Klepmann's book on "Designing Data Intensive Applications" , what gaps do you see in these contents?
I understand in real world experiences there comes a lot of factors in terms of making sure data quality persists, persisting / sharding / replication of data based on application specific parameters, and also monitoring applications, metrics and raising alerts which may not be covered in these resources for System Design preps.
Apart from some other areas that people can add / help with which truly lack in these resources, and can be available in depth (say when people work with Cassandra, or Hbase or Dynamo DB internals, and use it )
comments
so doing a lot of pros / cons and trade offs of inserting a cache or a distributed queue and other components as stream / batch processing ?
Or anything else that you have in mind
I agree with person above that DDIA shouldn't be mentioned in the same category.