Carlos A. Olarte Bases de Datos II
Contenido 1 Introducción 2 OLAP 3 Data Ware Housing 4 Data Mining
Introducción y Motivación Cómo puede analizarse de forma eficiente volúmenes masivos de datos? La consulta, Suma de las transacciones anterior y siguiente por cada transacción es implementable en SQL? Como procesar información proveniente de diferentes origines?
Clasificación de los Sys de Info Orientados a transacciones (OLTP): Grandes volúmenes de información, muy detallados, alta transaccionalidad, insumos para la toma de decisiones. Orientados a la toma de decisiones (OLAP): Baja transaccionalidad, resumidos, consultas extensas, toma de decisiones, identificación de patrones, comportamientos, etc
Problemas con los Sys Ap. TD. SQL (Est) no es suficiente en algunos casos para responder algunas consultas Los lenguajes de consultas no están optimizados para realizar consultas de este tipo (análisis estadísticos, agrupaciones por dimensiones, etc) Encontrar patrones y tendencias dados un conjunto de datos no es tarea sencilla (I.A) Normalmente se tienen diferentes orígenes de datos con diferentes esquemas, diferentes SGBD, etc
Análisis de Datos y OLAP OLAP (On Line Analytical Processing). Es una extensión de SQL, y se refiere a una serie de herramientas y técnicas que permiten realizar análisis de datos y ejecutar consultas que soliciten datos resumidos casi de manera instantánea
Continuación Atributos de Medida: Miden algún valor y pueden ser agrupados (valores, cantidades, precios, etc) Atributos de Dimensión: Definen las dimensiones (manera de agrupar) en la que se observan los atributos de medida Atributos Multi dimensionales: Pueden ser de medida o de dimensión utilizados por ejemplo en las tablas dinámicas
Ejemplo Ciudad: Cali Plan1 Plan2 Plan3 Total Ven1 2 5 7 14 Ven2 1 5 10 16 Ven3 2 3 1 6 Total 5 13 18 36
Continuación En forma de tabla: Vend Plan Num Ven1 Plan1 2 Ven1 Plan2 5 Ven1 Plan3 7 Ven1 all 14 Ven2 Plan1 1......... Plan1 all 5.........
Continuación Como se aprecia en el ejemplo anterior, el número de columnas está determinado por los datos almacenados (en este caso particular por los diferentes planes), lo que no resulta conveniente para el modelo relacional. El atributo all es representado en los SGBD por null.
Cubos de Datos Generalización de tabulaciones cruzadas bidimensionales a n-dimensionales. Ejemplo: Figure: Ejemplo de Cubo de Datos
Continuación OLAP permite a los analistas crear diferentes resúmenes de datos multi-dimensionales en ĺınea. Con los cubos de datos se pueden realizar las siguientes operaciones: Pivotaje: Modificación de las dimensiones utilizadas (Ejemplo: solo ver el cubo por plan) Corte: Rebanar el cubo, es decir, dejar constante una o varias dimensión del cubo
Niveles de Granularidad Abstracción: Pasar de un nivel de grano fino a uno de grano grueso por medio de agrupaciones. Por ejemplo, de group by plan,ciudad,vendedor a group by plan,ciudad Concreción: Proceso inverso. Debe obtenerse de los datos originales
Jerarquías Algunos atributos pueden tener diferentes niveles de detalle. Por ejemplo, se pueden realizar resumes agrupando por mes, año, semana, día, hora,etc. O por ejemplo la ubicación puede ser por país, región, ciudad, sucursal, etc.
Como calcular los CUBOS? Ejecutar todas las funciones de agregación (muy costoso, 2 n posibles agrupamientos) A partir de una agregación generar las otras (Concreción) Ejemplo: Pasar de group by país,ciudad,sucursal a group by país,ciudad
Nuevos comandos SQL Nuevas Funciones Estadísticas: stddev,variance,media y moda Funciones binarias: Correlación, covarianza y curvas de regresión
Modificadores de Agrupamiento Cube: Genera la combinación de los agrup. Ej, group by cube(x,y,z) genera las agrup (x,y,z), (x,y), (x,z), (y,z), (x), (y), (z), () Figure: Ejemplo de Rollup
Continuación Rollup: Útil para agrup de una jerarquía. Ej, group by rollup (x,y,z) genera las agrup (x,y,z),(x,y), (x), () Figure: Ejemplo de Rollup
Continuación Es posible combinar sentencias rollup y cube para generar el producto cartesiano de las posibles combinaciones y con clausulas having eliminar las no deseadas como lo muestra el siguiente ejemplo.
Continuación Figure: Ejemplo de una Combinación Rollup y Cube
ALL vs. NULL Para evitar confusiones entre el uso de NULL para representar ALL y los valores nulos, es posible utilizar decode y grouping. Esta última función retorna 1 en caso que sean todas las tuplas (all) y 0 de lo contrario.
Clasificación Rank: Dado un rango de valores, clasificar las tuplas. Por ejemplo si se quiere calcular el top-10 de las mejores sucursales. Si dos tuplas ocupan la misma posición, se obtendrá la misma clasificación.
Continuación
Continuación También es posible clasificaciones a partir de una partición, por ejemplo, el top ten de los productos mas vendidos por sucursal:
Continuación Percentiles: Con ntile(n) es posible clasificar tuplas a partir de particiones. Por ejemplo:
Continuación Ventanas: Se utilizan para definir rangos de tuplas que se desean agrupar en una sentencia. Por ejemplo, la distancia al promedio diario de ventas:
Continuación (Ventanas) Los siguientes argumentos también son validos para definir ventanas: between rows 1 preceding and 1 following between rows 10 preceding and current range between 10 preceding and current row (haciendo uso del valor de ordenación)
Data Ware Housing Solución a los problemas de consolidación de información de diferentes orígenes de datos Evitan adicionar carga a los sistemas OLTP con consultas para la toma de decisiones Mantienen la información del pasado vigente.
Arquitectura Figure: Arquitectura de un D.W
Continuación Como recoger los datos?: Los orígenes pueden enviar al destino las actualizaciones constantemente (arquitectura dirigida por los orígenes) o el destino envía peticiones de nuevos datos a los orígenes (arq dirigida por el destino) El D.W puede estar ligeramente desactualizado (de lo contrario generaría una carga excesiva para los orígenes y el destino)
Continuación Esquema de B.D: Los orígenes pueden tener diferentes esquemas. En el D.W se encarga de integrarlos (vistas materializadas). Limpieza de datos: Operaciones de filtro sobre los datos del origen (mayúsculas, Ids que no coinciden, etc)
Continuación En cuando al esquema de la B.D del D.W: Tablas de hechos: Se conocen a las tablas que contienen datos multi dimensionales (ventas, compras, afiliaciones, etc). Tablas de Dimensiones: Tablas que contienen las referencias de los atributos de las tablas de hechos. Por ejemplo Planes, Vendedores, Ciudades, etc. A estas llaves llegan las referencias (foráneas) de las tablas de hechos
Data Marts Son almacenes de datos especializados. Si sobre un conjunto específico del D.W se realizan continuamente análisis, dicho subconjunto puede crearse como un data mart. Los D.M puede ser creados a partir de los datos del D.W o utilizar directamente los orígenes de datos. Lo que se logra al utilizar los D.M es tener un nivel mas fino de granularidad en comparación al D.W
Data Mining Descubrimiento de conocimiento en bases de datos Predicciones y búsqueda de patrones Clasificación y asociaciones
Clasificación Dados los Ejemplo de Formación (casos del pasado) y los elementos ya pertenecientes a una clase, predecir la clase a la que pertenece un nuevo elemento. Mecanismo: Reglas de clasificación (Conjuntos Disyuntos)
Árboles de Decisión Las hojas son clases y los nodos predicados o funciones de asociación Para clasificar un nuevo elemento se parte de la raíz y siguiendo los predicados se llega a una clase
Ejemplo de una Árbol Dec
Redes Neuronales Clasificación de la entrada dependiendo del entrenamiento de la red (peso entre los arcos)
Otros Clasificadores Redes de Bayes: Estimación de la probabilidad de que un elemento se encuentre en una clase CP-Networks: Explotación de la independencia de las condiciones de preferencia (prefiero un automóvil automático sobre uno mecánico sin importar las otras características)
Regresión Predicción del valor de una variable dado un conjunto de ellas. Por ejemplo, dado {X 1, X 2...X n } encontrar los coeficientes para ajustar Y = a 0 X 0...a n X n
Reglas de Asociación Identificar parejas causa efecto de una población (por ejemplo en las compras en linea). Soporte: Porcentaje de población que satisface la causa y el efecto Confianza: Frecuencia con la que ocurre el match Correlación: Medida para saber que tan ajustado está el modelo
Agrupamientos Saber que tan dispersos se encuentran los elementos de una población o un subconjunto de ellos. (Por ejemplo, se compran mas electrodomésticos en el norte que en el sur).