</> CodeBooks
    ← Volver a Arquitectura de software (página 6)
    Portada de Designing Data-Intensive Applications, 2nd Edition

    Designing Data-Intensive Applications, 2nd Edition

    Martin Kleppmann, Chris Riccomini

    Editorial
    O'Reilly
    Año
    2026
    Páginas
    ~670
    Nivel
    Intermedio

    De qué trata

    Segunda edición actualizada de la obra de referencia fundamental sobre arquitectura de datos y sistemas distribuidos, coescrita por Martin Kleppmann y Chris Riccomini y publicada por O'Reilly. Esta edición amplía y moderniza el clásico original incorporando la evolución del ecosistema en la nube, las infraestructuras modernas de datos y nuevos patrones de procesamiento en tiempo real. Está pensada para ingenieros de software, arquitectos de sistemas e ingenieros de datos de nivel intermedio y avanzado que ya dominan el desarrollo backend o el uso de bases de datos y buscan comprender en profundidad los principios de confiabilidad, escalabilidad y mantenibilidad.

    El texto desglosa los fundamentos y compromisos arquitectónicos de los sistemas de datos modernos sin atarse a una única tecnología propietaria. Analiza modelos de datos (relacional, documental y grafos), motores de almacenamiento interno (estructuras B-trees frente a LSM-trees y SSTables), formatos de codificación y evolución de esquemas (Protocol Buffers, Apache Avro, JSON) y técnicas de replicación (líder único, multi-líder y sin líder) y particionamiento (sharding). Dedica secciones exhaustivas a los desafíos inherentes a los entornos distribuidos (relojes físicos y lógicos, fallos de red, modelos de consistencia y algoritmos de consenso como Paxos y Raft), el soporte transaccional (niveles de aislamiento, transacciones distribuidas y 2PC), así como el procesamiento analítico por lotes y en streaming con herramientas de referencia como Apache Kafka, Apache Flink y Apache Spark.

    A diferencia de manuales guiados de programación, no construye una aplicación paso a paso con código de producción ni ofrece ejercicios de fin de capítulo, sino un riguroso análisis conceptual y arquitectónico ilustrado con diagramas de funcionamiento interno y lecciones de casos reales. Aporta una comprensión intemporal de cómo funcionan por dentro los motores de bases de datos y plataformas distribuidas, permitiendo al profesional evaluar tecnologías y tomar decisiones de diseño con criterio sólido. No cubre la administración práctica de servicios gestionados en la nube ni código de capas de presentación o negocio, por lo que es indispensable contar con experiencia previa en concurrencia y desarrollo de servidores antes de su lectura.

    • Sistemas distribuidos
    • Escalabilidad
    • Replicación y particionamiento
    • Consistencia y consenso
    • LSM-trees y B-trees
    • Transacciones ACID
    • Apache Kafka
    • Stream processing
    • Batch processing
    • Modelos de datos

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Intermedio