Diseño de aplicaciones mediante el uso intensivo de datos Los grandes conceptos sobre los sistemas confiables escalables y mantenibles Martin Kleppmann - 1ra Ed. - Colombia MARCOMBO S.L 2020 - 599 P. 24 x 17 cm .

CONTENIDOS
-Prefacio.
-Parte I.
-Fundamentos de los sistemas de datos
1. Aplicaciones confiables, escalables y mantenibles.
-Reflexiones sobre los sistemas de datos.
-Confiabilidad.
-Fallos de hardware..
-Errores de software
-Errores humanos
-¿Cuál es la importancia de la confiabilidad?
-Escalabilidad..
-Descripción de la carga.
-Descripción del rendimiento
-Enfoques para hacer frente a la carga
-Mantenimiento
-Operatividad: facilitar la vida a las operaciones.
-Simplicidad: gestión de la complejidad
-Evolución: facilitar el cambio.
-Resumen
-Referencias.
2. Modelos de datos y lenguajes de consulta.
-El modelo relacional frente al modelo de documentos
-El nacimiento de NoSQL
-El desajuste objeto-relacional.
-Relaciones de muchos a uno y muchos a muchos.
-¿Están las bases de datos de documentos repitiendo la historia?
-Bases de datos relacionales frente a las de documentos en la actualidad
-Lenguajes de consulta de datos.
-Consultas declarativas en la web.
-Consultas de MapReduce
-Modelos de datos de tipo grafo.
-Grafos de propiedades.
-Lenguaje de consulta Cypher.
-Consulta de gráficos en SQL.
-Almacenes triples y SPARQL
-Los fundamentos: Datalog.
-Resumen.
-Referencias.
3. Almacenamiento y recuperación.
-Estructuras de datos que potencian la base de datos
-Indices hash....
-SSTables y árboles LSM..
-Árboles B.
-Comparación de los árboles B con los árboles LSM
-Otras estructuras de indexación
-¿Procesamiento de transacciones o análisis?.
-Almacén de datos.
-Estrellas y copos de nieve: esquemas para el análisis
-Almacenamiento orientado a columnas..
-Compresión de columnas.
-Orden de clasificación en el almacenamiento por columnas
-Escritura en el almacenamiento orientado a columnas.
-Agregación: cubos de datos y vistas materializadas
-Resumen
-Referencias..
4. Codificación y evolución.
-Formatos de codificación de datos
-Formatos específicos para cada lenguaje JSON, XML y variantes binarias.
-Thrift y Protocol Buffers.
-Avro
-Méritos de los esquemas
-Modos de flujo de datos.
-Flujo de datos a través de bases de datos.
-Flujo de datos a través de servicios: REST y RPC.
-Flujo de datos por paso de mensajes.
-Resumen.
-Referencias..
5. Replicación.
-Líderes y seguidores.
-Replicación sincrona frente a asincrona.
-Cómo configurar nuevos seguidores.
-Gestión de las interrupciones de los nodos.
-Implementación de logs de replicación
-Problemas de retardo en la replicación.
-Lectura de nuestras propias escrituras
-Lecturas monotónicas
-Lecturas de prefijos coherentes.
-Soluciones para el retardo en la replicación.
-Replicación multilider.
-Casos de uso de la replicación multilíder
-Gestión de conflictos de escritura...
-Topologias de replicación multilíder
-Replicación sin lider.
-Escritura en la base de datos cuando un nodo no funciona..
-Limitaciones de la coherencia del quorum.
-Quorum descuidados y transferencias indirectas
-Detección de escrituras simultáneas
-Resumen.
-Referencias..
6. Particionado
-Particionado y replicación.
-Particionado de datos clave-valor...
-Particionado por rangos de claves.
-Particionado por hash de claves.
-Cargas de trabajo desbalanceadas y mitigación de puntos calientes
-Particionado e índices secundarios
-Particionado de índices secundarios por documento.
-Particionado de indices secundarios por término.
-Rebalanceo de particiones.
-Estrategias de rebalanceo
-Operaciones: rebalanceo automático o manual.
-Enrutamiento de solicitudes.
-Ejecución de consultas en paralelo
-Resumen
-Referencias..
7. Transacciones.
-El resbaladizo concepto de transacción»
-El significado de ACID.
-Operaciones con un solo objeto y con varios objetos
-Niveles de aislamiento débil.
-Lectura confirmada.
-Aislamiento de instantáneas y lectura repetitiva
-Cómo evitar que se pierdan las actualizaciones.
-Escritura desviada y fantasmas
-Serializabilidad.
-Ejecución en serie
-Bloqueo en dos fases (2PL).
-Aislamiento de instantáneas serializable (SSI).
-Resumen..
-Referencias...
8. El problema de los sistemas distribuidos.
-Fallos y averías parciales.
-Computación en la nube y supercomputación.
-Redes poco fiables.
-Fallos de red en la práctica.
-Detección de fallos...
-Tiempos de espera y retardos ilimitados.
-Redes sincronas frente a asincronas.
-Relojes poco fiables..
-Relojes monotónicos frente a relojes en tiempo real
-Sincronización y precisión del reloj
-Confianza en los relojes sincronizados.
-Pausas del proceso
-Conocimiento, verdades y mentiras..
-La verdad la define la mayoría
-Fallos bizantinos...
-Modelos de sistemas y realidad.
-Resumen..
-Referencias.
9. Coherencia y consenso.
-Garantías de coherencia.
-Linealizabilidad
¿Qué hace que un sistema sea linealizable?
-Confianza en la linealizabilidad
-Implementación de sistemas linealizables..
-El coste de la linealizabilidad.
-Garantías del ordenamiento.
-Ordenamiento y causalidad.
-Ordenamiento por números de secuencia
-Difusión de orden total
-Transacciones distribuidas y consenso.
-Confirmación atómica y confirmación en dos fases (2PC)
-Transacciones distribuidas en la práctica..
-Consenso tolerante a fallos
-Servicios de afiliación y coordinación.
-Resumen
-Referencias..
-Parte III. Datos derivados
10. Procesamiento por lotes.
-Procesamiento por lotes con herramientas Unix.
-Análisis de un log sencillo.
-La filosofia Unix
-MapReduce y sistemas de archivos distribuidos.
-Ejecución de trabajos MapReduce..
-Agrupaciones y uniones de lados reducidos.
-Uniones del lado del mapa Resultado de los flujos de trabajo por lotes
-Comparación de Hadoop con las bases de datos distribuidas.
-Más allá de MapReduce Materialización del estado intermedio.
-Grafos y procesamiento iterativo.
-API y lenguajes de alto nivel.
-Resumen.
-Referencias..
11. Procesamiento de flujos.
-Transmisión de flujos de eventos.
-Sistemas de mensajería.
-Logs particionados
-Bases de datos y flujos.
-Necesidad de mantener los sistemas sincronizados.
-Captura de datos de cambios
-Aprovisionamiento de eventos
-Estado, flujos e inmutabilidad..
-Procesamiento de flujos...
-Usos del procesamiento de flujos
-Razonamiento sobre el tiempo..
-Uniones de flujos
-Tolerancia a fallos.
-Resumen...
-Referencias.
12. El futuro de los sistemas de datos
-Integración de datos. Combinación de herramientas especializadas mediante la derivación de datos
-Procesamiento por lotes y procesamiento de flujos
-Desagregación de bases de datos Composición de las tecnologías de almacenamiento de datos.
-Diseño de aplicaciones en torno al flujo de datos
-Observación del estado derivado.
-En busca de la corrección Argumento de las bases de datos de extremo a extremo
-Aplicación de restricciones.
-Puntualidad e integridad
-Confie, pero verifique..
-Hacer lo correcto
-Análisis predictivo
-Privacidad y seguimiento..
-Resumen.
-Referencias.
-Glosario.


978-958-778-850-1

BASE DE DATOS AVANZADA