<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>Diseño de aplicaciones mediante el uso intensivo de datos</title>
    <subTitle>Los grandes conceptos sobre los sistemas confiables escalables y mantenibles</subTitle>
  </titleInfo>
  <typeOfResource>text</typeOfResource>
  <originInfo>
    <place>
      <placeTerm type="text">Colombia</placeTerm>
    </place>
    <publisher>MARCOMBO S.L</publisher>
    <dateIssued>2020</dateIssued>
    <edition>1ra Ed. </edition>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">eng</languageTerm>
  </language>
  <language>
    <languageTerm authority="iso639-2b" type="code">Esp</languageTerm>
  </language>
  <physicalDescription>
    <form authority="marcform">print</form>
    <extent>599 P. 24 x 17 cm .</extent>
  </physicalDescription>
  <tableOfContents>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.
</tableOfContents>
  <note type="statement of responsibility">Martin  Kleppmann</note>
  <subject>
    <topic>BASE DE DATOS AVANZADA</topic>
  </subject>
  <identifier type="isbn">978-958-778-850-1</identifier>
  <recordInfo>
    <recordContentSource authority="marcorg">B-ISTTENA</recordContentSource>
    <recordCreationDate encoding="marc">230418</recordCreationDate>
    <recordChangeDate encoding="iso8601">20250403140217.0</recordChangeDate>
  </recordInfo>
</mods>
