Successfully reported this slideshow.
Your SlideShare is downloading. ×

Bases de Datos Analiticas-Columnares

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 46 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to Bases de Datos Analiticas-Columnares (20)

Advertisement

Recently uploaded (20)

Bases de Datos Analiticas-Columnares

  1. 1. Bases de Datos Analíticas-ColumnaresBases de Datos Analíticas-Columnares
  2. 2. Índice o Características o Monet DB o Arquitectura o Almacenamiento o Distinciones o Cluster o HP Vertica o Proyecciones o Hybrid Data Store o Optimizaciones o Cluster o Límites
  3. 3. Características
  4. 4. Características Organiza los datos en columnas
  5. 5. Características Organiza los datos en columnas
  6. 6. Características Organiza los datos en columnas
  7. 7. Características Organiza los datos en columnas
  8. 8. Características Organiza los datos en columnas
  9. 9. Características Organiza los datos en columnas
  10. 10. Características Organiza los datos en columnas
  11. 11. Monet DBMonet DB
  12. 12. Monet DB - Arquitectura o Se enfoca más en la disponibilidad que en la consistencia o Muy Flexible a personalizaciones por parte del usuario
  13. 13. Monet DB - Almacenamiento o Binary Association Table (BAT) o Datos para consultar por XQuery o XML o JSON o Binario o Capacidad de leer de un Stream de datos o Se configura la fuente de datos, indicando la dirección en formato [protocolo]:// [servidor]:[puerto] oid name 0000 0 monet OID tipo 00000 db OID year 11111 2000 OID plus 11111 15
  14. 14. Monet DB - Distinciones o Rendimiento óptimo cuando el mayor volumen en el manejo de datos puede hacerse en la memoria principal o Debido a la eficiente generada por la técnica llamada “Cache Locality” o Se basa en la localización de los bloques de memoria de forma secuencial para optimizar el acceso a ellos
  15. 15. Monet DB - Distinciones o Radix-Cluster for Join, una innovación en algoritmos de joins en Bases de Datos. o Este algoritmos logra una Complejidad Computacional de las consultas insuperable O(max (n,m)), mientras que en otros sistemas como PostresSQL, MySQL o SQL Server que toman O (n + m).
  16. 16. Monet DB - Distinciones o Aprovecha las ventajas de la paralelización usando Map- Reduce y Replicación. o Amplio rango de alcance, sobre todo en temas académicos, incluyendo librerías externas o libxml o geos o raptor (software para predicción de la estructura de proteínas) o Varios formatos pueden ser incluidos como formato de vaults (cargas masivas).
  17. 17. Monet DB - Distinciones o Monet Interpreted Language o Puede ser extendido con nuevas funciones de evaluación por parte de los usuarios
  18. 18. Monet DB – Cluster – Instalación o Instalar MonetDB individualmente en cada nodo (monetdbd) o monetdbd create /path/to/store/server o Asignar propiedades a la BD para formar el Cluster (monetdb) o monetdb –h [server] –P [password] create test_db o monetdb set shared=/home/db/1 test_db o monetdb –h [server] –P [password] start test_db o Usar el cliente para las consultas (mclient) o mclient –d “/home/db/1”
  19. 19. Monet DB - Cluster – Balanceo de Datos o Balanceo de carga en Monet DB se logra usando un patrón para conectarse al cluster. o Este patrón deberá incluir todas las BD sobre las que se quiera operar en la conexión o mclient –d “/home/db/*” o mclient usa un Round Robin en las peticiones, es decir, selecciona el siguiente nodo en cada comando enviado al servidor.
  20. 20. Monet DB - Cluster – Replicación o Multiplex Funnel, especifica una conexión multiplexada a los nodos del cluster que se especifiquen. o monetdb create -m [user]+password@[db_or_tag_name], [user]+password@[db_or_tag_name] [multiplex_funnel_name] o Usado como técnica de replicación o Recomendado para sentencias de lectura de datos solamente.
  21. 21. HP VerticaHP Vertica
  22. 22. HP Vertica - Proyecciones o Una tabla puede tener varias proyecciones, cada una ordenada por un atributo diferente o Cada proyección tiene una copia de los datos o Este concepto optimiza las consultas sobre un atributo ordenado
  23. 23. HP Vertica - Hybrid Data Store o Write Optimized Store (WOS) o Una estructura de datos almacenada en memoria para operaciones de inserción y actualizado o Los datos aquí están sin comprimir ni ordenar para lograr eficiencia en el proceso o Read Optimized Store (ROS) o Contiene los datos estables de la Base de Datos o Los datos están comprimidos y ordenados
  24. 24. HP Vertica - Hybrid Data Store o Tuple Mover o Mueve los datos desde el WOS hacia el ROS o Opera en secciones completas del WOS, realiza las operaciones de inserción usando operaciones batch o Storage Container o En cada nodo hay varios Storage Container por proyección, haciendo el papel de versiones o Es el equivalente al Tuple Mover a nivel de Nodo. Una vez que el Tuple Mover a insertado los datos hacia un nodo, este componente se encarga de actualizar los antiguos datos con los nuevos
  25. 25. HP Vertica - Hybrid Data Store (Análisis) o Este mecanismo es ideal para Bases de Datos analíticas, porque se enfoca en las consultas eficientes, el control de concurrencia y la inserción/actualización en grandes volúmenes o Para aplicaciones que requieran una sincronización estricta entre la inserción y la lectura de datos, el Hybrid Data Store no es ideal
  26. 26. HP Vertica - Optimizaciones o Vertica no necesita descomprimir los datos de una columna para realizar operaciones de agregación o Las proyecciones pueden tener columnas de una relación de llave primaria – llave foránea, estas proyecciones son llamadas pre-join projections o Pre-join projections, ofrecen una gran ventaja en cuanto a rendimiento en operaciones de INNER JOIN
  27. 27. HP Vertica - Optimizaciones o k-safety para garantizar la integridad de datos antes fallos de nodos, se basa en tener k copias de los datos o Cada réplica está ordenada por un atributo diferente, lo cual optimiza el tiempo de las consultas o Usa las ‘Buddy Projections’ : proyecciones que se diferencian solo en el atributo por el cual están ordenados los datos. o Uso en replicación y particionamiento
  28. 28. HP Vertica - Clúster - Introducción o Clúster a nivel de servidor: es la disponibilidad de nodos físicos a los que pueden expandirse las BD. o Se pueden definir todos los nodos durante la instalación o Incremento de nodos sin necesidad de reinstalar o Clúster a nivel de BD: De los nodos físicos disponible, podemos elegir en cuáles se distribuirá cada BD o Se puede definir durante la creación de la BD o Incrementar nodos después de creada, con balanceo automático.
  29. 29. HP Vertica - Clúster - Replicación o La Replicación es la posibilidad de tener múltiples copias de cada proyección distribuidas por el clúster. o Si más de la mitad de los nodos de un clúster no están disponibles, Vertica automáticamente se apaga. o En HP Vertica hay 3 posibles valores de K (0,1,2)
  30. 30. HP Vertica - Clúster - Replicación o Ejemplo K = 1 o Nodos críticos K-level Nodes 0 1+ 1 3+ 2 5+ K 2K+1
  31. 31. HP Vertica - Clúster - Replicación o Ejemplo creación de tabla con K-safety CREATE TABLE location(..., state VARCHAR NOT NULL, ...) KSAFE [2] o Ejemplo creación de proyección con K-safety CREATE PROJECTION projection-name AS SELECT … FROM table [ KSAFE [ 1 ] ]
  32. 32. HP Vertica – Clúster - Replicación o Monitorizar K-safety o SELECT current_fault_tolerance FROM system; o SELECT * FROM v_monitor.critical_nodes;
  33. 33. HP Vertica - Clúster - Segmentación o La segmentación permite que cada proyección pueda distribuir sus datos por los nodos del clúster basado en un atributo. o La segmentación por hash debe cumplir con los siguientes requisitos: o Datos suficientemente únicos a lo largo de la columna o Distribución aceptablemente aleatoria o asimétrica en cada elemento nuevo insertado
  34. 34. HP Vertica – Clúster - Segmentación o Tipos de Segmentación o Modular Hash Segmentation es una forma de segmentación recomendable para atributos con un patrón regular, i.e los tipos de datos secuenciales o Simple Hash Segmentation es la forma de segmentación recomendada para atributos con un patrón irregular, como los UUID de Java
  35. 35. HP Vertica - Clúster - Segmentación o Ejemplo de tabla con segmentación CREATE TABLE tw_search (..., tw_account_name VARCHAR NOT NULL, ...) SEGMENTED BY HASH(tw_Created_YearMonth) ALL NODES OFFSET 0; o El parámetro offset significa el nodo a partir del cual se quiere segmentar
  36. 36. HP Vertica – Clúster - Segmentación o Ejemplo de proyección con segmentación CREATE PROJECTION tweetsAnioMes (tw_Text, tw_Created_YearMonth) AS (select tw_Text, tw_Created_YearMonth FROM tw_search ORDER BY 2) SEGMENTED BY HASH(tw_Created_YearMonth) ALL NODES OFFSET 2; o El parámetro offset significa el nodo a partir del cual se quiere segmentar
  37. 37. HP Vertica - Clúster - Balanceo de Carga o IPVS (Internet Protocol Virtual Server). Es una característica del kernel de linux que permite que un host pueda hacer de Gateway, para eso usa IP virtuales e instala paquetes de software adicionales. o Native Conection Load Balancing. Es una característica implementada en el servidor de HP Vertica y las librerías cliente. Se basa en la asignación de conexiones a los clientes por parte del servidor.
  38. 38. HP Vertica - Clúster - Balanceo de Carga - Nativa o Opciones de Native Conection Load Balancing o NONE. Deshabilitado por defecto. o ROUNDROBIN. Selecciona el siguiente nodo del anillo de nodos en cada conexión. o RANDOM. Selecciona aleatoriamente un nodo. o SELECT SET_LOAD_BALANCE_POLICY('ROUNDROBIN'); o SELECT LOAD_BALANCE_POLICY FROM V_CATALOG.DATABASES; o SELECT NODE_NAME FROM V_MONITOR.CURRENT_SESSION;
  39. 39. HP Vertica - Clúster - Balanceo de Carga - Nativa o Es necesario poner un parámetro en la conexión para que las peticiones sean de tipo load balance. o ConnectionLoadBalance = 1 o Si usamos como cliente el SQuirrel, se configura fácilmente mediante la interfaz.
  40. 40. HP Vertica - Clúster – Balanceo de Carga - IPVS o Dos nodos directores (generalmente tienen datos) o Master Director, se encarga del enrutamiento de las peticiones o Slave Director, se comunica con el Master Director y asume su rol en caso de fallo o N nodos de datos (128 máximo recomendado) o IP privadas para la conexión entre nodos o IP reales de cara a los clientes del clúster
  41. 41. HP Vertica - Clúster – Balanceo de carga - Análisis o Nativa o Sencilla de Instalar o Eficiente o Mayores Requisitos de Conectividad con los clientes o IPVS o Compleja de Instalar o Consumidora de Recursos o Menores requisitos de conectividad con los clientes
  42. 42. HP Vertica - Límites o Capacidad de la BD: (Máximo Tamaño de Fichero * Nodos * Discos Duros) o Número de filas por tabla: 2^64 filas en cada Nodo o Capacidad de una fila: 32,768,000 bytes o Número de nodos: 128 (Recomendable) o Conexiones concurrentes por nodo: 50 por defecto, limitado por la plataforma (típicamente 1024)
  43. 43. Sobre nosotros - Stratebi
  44. 44. Confían en Business Intelligence Open Source Sector Privado Sector Público
  45. 45. Stratebi: Quiénes somos www.TodoBI.com info@stratebi.com www.stratebi.com Mas información Tfno: 91.788.34.10 Madrid: Pº de la Castellana, 164, 1º Barcelona: C/ Valencia, 63 Brasil: Av. Paulista, 37 4 andar
  46. 46. Preguntas

×