Diseñar sistemas de datos exige resolver tensiones que no desaparecen con la elección de una tecnología: escalabilidad, consistencia, fiabilidad y eficiencia pueden entrar en juego junto con la facilidad de mantenimiento. En Designing Data-Intensive Applications, Martin Kleppmann y Chris Riccomini plantean esas decisiones como parte central de la arquitectura de sistemas modernos.

La variedad de opciones —desde bases de datos relacionales y almacenes NoSQL hasta servicios en la nube, instalaciones propias y bases de datos integradas— vuelve práctica la pregunta de qué herramienta conviene en cada caso. El libro propone examinar sus compromisos y fundamentos, y acercarse a los principios de los sistemas distribuidos para entender mejor las decisiones de diseño.