</> CodeBooks
    ← Volver a Arquitectura de software (página 6)
    Portada de Database Internals

    Database Internals

    Alex Petrov

    Editorial
    O'Reilly
    Año
    2019
    Páginas
    ~463
    Nivel
    Avanzado

    De qué trata

    Tratado técnico exhaustivo y de nivel avanzado escrito por Alex Petrov (committer de Apache Cassandra e ingeniero de infraestructura) y publicado por O'Reilly en 2019. La obra expone con gran precisión los mecanismos internos de bajo nivel y la teoría algorítmica sobre la que operan los sistemas de bases de datos modernos. Está dirigida a ingenieros de software senior, arquitectos de datos y especialistas en infraestructura que no se conforman con interactuar mediante APIs o SQL y desean entender cómo se estructuran, guardan, sincronizan y recuperan los datos en disco y en clústeres distribuidos. Requiere conocimientos previos sólidos sobre sistemas operativos, estructuras de datos, gestión de memoria y concurrencia.

    El contenido se divide en dos bloques fundamentales: motores de almacenamiento (storage engines) y sistemas distribuidos. En el primer bloque profundiza en el almacenamiento orientado a filas frente a columnas, el funcionamiento interno de los árboles B y B+ (división de nodos, fusión, rebalanceo), formatos binarios y estructuras de páginas con ranuras (slotted pages), control de concurrencia mediante cerrojos y latches (Two-Phase Locking o 2PL), algoritmos de recuperación ante fallos como ARIES apoyados en el Write-Ahead Log (WAL), gestión de caché de páginas y buffer pools (políticas LRU y Clock), y motores estructurados en log (LSM-trees, MemTables, SSTables, compactación y filtros de Bloom). En el segundo bloque aborda la detección de fallos (heartbeats y detectores Phi Accrual), algoritmos de elección de líder y consenso (Paxos y Raft), modelos de replicación (líder único, multilíder, sin líder / Dynamo), cuórums de lectura y escritura, transacciones distribuidas con Two-Phase Commit (2PC) y modelos de consistencia formal (linearizabilidad, consistencia secuencial, causal y eventual).

    Es un texto conceptual, riguroso y analítico que no incluye proyectos de código ni ejercicios de implementación paso a paso, sino esquemas anatómicos detallados, pseudocódigo y comparativas con bases de datos reales como PostgreSQL, MySQL (InnoDB), Apache Cassandra, RocksDB y SQLite. Su valor es inmenso para quienes deseen desmitificar el funcionamiento interno de las bases de datos y tomar decisiones fundamentadas al configurarlas o ajustarlas a gran escala. Por su densidad teórica y nivel de detalle algorítmico, demanda una lectura pausada y un bagaje técnico sólido.

    • Motores de almacenamiento
    • Árboles B y B+
    • LSM-Trees y SSTables
    • Write-Ahead Log (WAL)
    • Buffer Pool y Page Cache
    • Algoritmo ARIES
    • Concurrencia y 2PL
    • Consenso (Paxos y Raft)
    • Replicación y Cuórums
    • Two-Phase Commit (2PC)
    • Modelos de consistencia

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Avanzado