Tema 2: Aproximación a Big Data Flashcards
¿Qué es un fichero?
Unidad contenedora de información en el soporte.
Conjunto organizado y nominado de informaciones estructuradas almacenadas en un soporte no volátil.
Tipos de organizaciones de los datos.
- Organización serial: se recorre de principio a fin.
- Organización secuencial: se puede acceder a secciones determinadas de la información (tiempo de acceso logarítmico).
¿Qué es la secuencialidad?
Técnica de intercalado en discos magnéticos para facilitar la lectura de datos. La lectura de datos en serie es x20 más rápida.
Los discos SSD no tienen esta capacidad y tienen una vida útil menor.
¿Qué es el almacenamiento orientado al proceso?
- Esquemas de archivos adhoc.
- Muy eficiente pero muy complejo de implementar.
- tantos procesos como funcionalidades.
- Desarrollo costoso y complejo.
- Ficheros dependientes de la aplicación.
Características de la organización serial.
- Elementos no organizados.
- Inserción óptima.
- Aprovechamiento de espacio óptimo.
- Localización ineficiente (full scan).
Características de la organización secuencial.
- Elementos ordenados.
- Mejora selección por una clave (búsqueda dicotómica: dividir todo en mitades y buscar en cada mitad. Repetir hasta encontrar lo que buscamos.
- Dificulta actualización, puede requerir mantenimiento.
Características de la organización direccionada.
- Elementos ubicados en un sitio.
- Más sitios que registros (desperdicia espacio
- Selección óptima por una clave.
- Puede requerir mantenimiento.
Características de la organización indizada.
- Elementos apuntados (uso de índices).
- Coste de localización reducida.
- Organización auxiliar.
¿Qué es una base de datos? (Definición)
Colección o depósito de datos integrados (relación entre los datos se almacena en la DB) (con el objetivo de que sea independiente de los ficheros y los procesos).
- con redundancia controlada.
- con estructura que refleja las interrelaciones y restricciones del mundo real.
- con datos independientes de aplicación o usuario.
- datos con definición y descripción únicas.
- se preserva la integridad de la BD.
Explica el enfoque OLAP.
Almacenamiento para el consumo analítico de los datos. Está orientado al procesamiento analítico, acumulación de datos. Usa procesos ETL (extracción, transformación, load).
- OLAP no usa características ACID.
¿Qué son los sistemas dorsales (back-end)?
Son los que se encargan de la extracción y la preparación de los datos.
¿Qué son los sistemas frontales (front-end)?
Son los que los usuarios usan (obtienen los datos procesados del back-end).
¿Qué es la clusterización?
Es una agrupación física que consiste en organizar la información en distintos grupos (número pequeño de grupos). Se podría considerar organización secuencial múltiple.
¿Qué es un índice?
Es un fichero auxiliar que proporciona información para realizar consultas rápidamente.
¿Qué es un fichero totalmente invertido?
Es un fichero en el que todos sus atributos están indizados (no hace falta consultar la información original, con los índices es suficiente).
La organización es por columna (se convierte de nuevo en tabla).
- Esquema de orientación de columna.
¿Qué es una columna?
Puede tener varios atributos (distinto concepto de columna).
Tipos de organización de datos en OLAP.
- Organización serial
- Organización indizada
¿Qué es la topología en estrella?
Consiste en tener una tabla central relacionada con varias tablas satélites.
- Es un diseño simple, tiene baja redundancia y bajo coste de mantenimiento.
¿Qué es la topología copo de nieve?
Una o más tablas centrales relacionadas con tablas satélites que a su vez son desarrolladas en otras tablas satélites.
- Mucha agilidad y simplicidad de consulta.
Enfoque MOLAP.
- Cubos multidimensionales con información precocinada.
- Compacto y ágil.
- Posibilidades limitadas (rígidez), el diseño te constriñe.
Tipos de escalabilidad.
- Escalabilidad vertical: hardware más potente.
- Escalabilidad horizontal: más cantidad de hardware trabajando en paralelo.
Tipos de arquitecturas distribuidas.
- Master-slave (centralizado)
- Peer to Peer (descentralizado) (ej. arquitectura de cassandra)
¿Qué es y qué implica la tolerancia a fallos?
La tolerancia a fallos permite que si se cae un nodo el sistema siga trabajando.
Implica que se prescinde de la consistencia (se duplica la información para no perderla).
¿En qué consiste el sharding?
Consiste en fragmentar la información en paquetes pequeños de datos para distribuirlos en redes de máquinas.
¿Qué es la replicación?
Consiste en vigilar en que los paquetes de datos se encuentren almacenados en varias máquinas (duplicados) en todo momento para que haya tolerancia a fallos.
¿Qué es la consistencia?
Que todas las copias de un paquete sean iguales.
Tipos de sincronización.
- Sincronización parcia: actualizaciones periódicas o sin prioridad. Asume la existencia de inconsistencias puntuales. La eficiencia prima sobre la exactitud.
- Sincronización total: permite mantener las propiedades ACID. Es un servicio muy poco ágil y el coste de estos sistemas es muy elevado y poco rentable.
Propiedades esenciales de los sistemas de BD distribuidas.
- C: Consistencia
- A: Disponibilidad
- P: Tolerancia a fallos
¿Qué es el teorema CAP?
El teorema postula que solo se pueden alcanzar 2 de las 3 propiedades en un sistema.
- Cassandra prescinde de la consistencia, MongoDB de la disponibilidad.
- En sistema Big Data la tolerancia a fallos es sagrada.
¿Qué es la persistencia?
La persistencia es la acción de preservar la información de un objeto de forma permanente (guardado), pero a su vez también se refiere a poder recuperar la información del mismo (leerlo) para que pueda ser nuevamente utilizado.
Características del Back End en Big Data.
• Escalable: para escribir datos en múltiples almacenes simultáneamente obviando
características físicas, y producir después recuperación de información eficiente.
• Modelo de datos y consultas: soltar el lastre de la estructura (y parcialmente, del
diseño) con marcos de definición especiales para almacenar y acceder a los datos.
• Diseño de la persistencia: para aumentar la eficiencia, utiliza motores “in memory”
(la BD es copiada total o parcialmente en memoria; mecanismos especiales de actualización).
• Consistencia eventual: sustituye ACID por BASE (Basically Available, Soft state &
Eventually consistent).
Tipos de BackEnd para Big Data (No-SQL).
Orientados a clave-valor: almacén básico (fácilmente fragmentable)
• Orientados a columna: eficiente en operaciones analíticas
• Documentales: facilitan la compartición de información
• en Grafo: estructura en red
• NewSQL: se refiere a SGBD relacionales pero con capacidades
mayores, y que ofrecen algunas ventajas de los NoSQL.
• La tecnología relacional mejorada (NewSQL) puede ser considerada
como una opción válida para la implantación de sistemas BigData.
¿Qué es el modelo de back end clave-valor?
- Cada elemento tiene una clave identificadora y un valor en un dominio (dominio sin diseño fijo).
• Ventajas:
• almacenamiento de gran
flexibilidad e
independencia.
• alta escalabilidad
• Desventajas: eficiencia según qué proceso
¿Qué es el modelo de back end orientado a columna?
- Cada columna se almacena por separado. Ej Cassandra
- Si datos se agrupan en cluster, se ahorra espacio.
- Cálculo de agregaciones es eficiente (no se recuperan columnas que no se necesiten).
¿Qué es el modelo de back end orientado a documento?
- Orientada a almacenar documentos (JSON, BSON, XML, …). Ej MongoDB
- Proporciona máxima flexibilidad. Es intuitivo y de fácil manejo y además es escalable.
- Implica mayores volúmenes de datos. Perder estructura complica la consulta.
¿Qué es el modelo de back end en grafo?
- Tan flexible como los documentos pero con relaciones entre nodos.
- Las relaciones pueden ser muy numerosas y tienen semántica.
- Puede dotarse de estructura y prescindir de esta en las consultas.
Clasificación general de los sistemas de almacenamiento masivo.
- Relacional (SQL)
- No-SQL: orientado a documento, clave-valor, familia de columnas, grafos.
- NewSQL: en memoria