Inteligencia de Negocios Buenos Aires, mayo de 2009 U.T.N. – F.R.B.A. Prof: Ing. Pablo Cigliuti Ayud: Ing. Rafael Rizzo.

Slides:



Advertisements
Presentaciones similares
Procesamiento y Análisis en Línea OLAP
Advertisements

Cubos de Información Son subconjuntos de datos de un almacén de datos, organizado y sumarizado dentro de una estructura multidimensional. Los datos se.
Guido Rubin Escalabilidad.
III - Gestión de memoria
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Supervisión del rendimiento de SQL Server
TABLAS EN WORD.
Al abrir el Access aparece una ventana para crear una base en blanco, con la ayuda de un asistente o abrir una existente. Al principio optamos por la primera.
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
INDEXADO EN DW.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Business Intelligence (BI) Software (Software de Inteligencia Impresario)
MANEJO DE ARRAYS EN C.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Windows XP sp3.
On Line Analytical Processing
TEMA: Arquitectura Escalable Ing. Enrique Meneses Falla
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Ciclo de vida de la información histórica INEGI – Aguascalientes 2008.
Tema 10: Gestión de Memoria
Diseño Físico. yEl diseño físico de BD forma parte importante del ciclo de vida de un sistema de BDs. yConsiste en escoger las estructuras de almacenamiento.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Mejorando la forma de construir datawarehouses usando Microsoft SQL Server 2008 Integration Services.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Sistemas de Información IS95872
Bases de Datos Oracle Optimización
Consulta Típica en OLAP
(Organización y Manejo de Archivos)
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Es el software que permite al usuario interactuar con la computadora.
Structured Query Language MySQL Sistema de gestión de bases de datos SQL Open Source más popular Lo desarrolla, distribuye y soporta.
 Se usan para acceder a tablas.  Una llave identifica únicamente un registro.  Identificador único, no puede tener el mismo valor en dos registros.
Teoría de Sistemas Operativos Introducción Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Utilización de memoria del O3 Server Caché de cubos.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
DISEÑO DE UNA ESTRUCTURA DE INDEXACION DE DATOS TOPOLOGICAMENTE CONTENIDO.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Almacenamiento y discos
Structured Query Language (Lenguaje Estructurado de Consultas)
FRAGMENTACION EN ORACLE
Sistemas de arreglo de discos RAID
1. Motivación 2. Cintas magnéticas 3. Discos magnéticos 4. Discos ópticos 5. RAID.
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Access.
Almacenamiento y discos. Discos y almacenamiento 1.Motivación 2.Cintas magnéticas 3.Discos magnéticos 4.Discos ópticos 5.RAID.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Ajustes de configuración de rendimiento (performance & tuning) E.I.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Introducción a la Optimización de Consultas. Francisco Moreno.
UNIVERSIDAD LATINA II. FUNCIONES DEL ADMINISTRADOR.
Tema 11 Bases de Datos y el Lenguaje SQL
Integrantes de equipo: Bryan Andrés García Alfaro Jesús Martínez Leyva.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Nombre: Hebert Rangel Gutierrez Matricula: Materia: Base De datos Cuatrimestre: 3er Profesor: Nasheli López Bautista Carrera: Licenciatura en.
Universidad Ju á rez del estado de Durango Colegio de ciencias y humanidades Herramientas del Sistema de Windows Profesor: Fernando Mej í a Alumno: Alexis.
MIA - Grupo 5 Unidad 2.
1 RAID (Redundant Array of Inexpensive Disks). RAID Una serie de sistemas para organizar varios discos como si de uno solo se tratara. Haciendo que trabajen.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
María Trinidad Serna Encinas
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Diccionario/Directorio de Datos
7 Fragmentación - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Sistema de Gestión de Archivos FUNDAMENTOS TEORICOS Ing. Jorge Gutiérrez D Universidad Nacional de Colombia Catedrático - I Sem 2009
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
[Sistemas RAID]. [Disk Arrays RAID] RAID= Redundant Array of Independent (or Inexpensive) Disks Usa combinaciones de discos para ‘obtener’ un disco con.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
Transcripción de la presentación:

Inteligencia de Negocios Buenos Aires, mayo de 2009 U.T.N. – F.R.B.A. Prof: Ing. Pablo Cigliuti Ayud: Ing. Rafael Rizzo

Clase IV DW Tunning

Consideraciones I/O  DW altamente comprometido con operaciones de I/O.  OLTP dependerá de los patrones de acceso y de la carga de trabajo del usuario.  Problemas con I/O -> I/O Bound o I/O bottleneck.  Para resolver problemas de I/O por lo general se usan RAID (Redundant Arrays of Inexpensive Disks)  Para resolver cuellos de botella de I/O cuando hay procesamiento en paralelo o acceso de consultas concurrentes se debería usar Striping.

Striping  Divide los datos de grandes tablas en pequeñas porciones y los guarda en diferentes datafiles de diferentes discos.  RAID 0  RAID 1  RAID 0+1  Está relacionada con el HW. No tiene anda que ver con la base de datos.  Puedo hacer striping de objetos en diferentes discos para conseguir distintos objetivos:  Optimizar full table scan -> Separar una tabla en diferentes discos  Puedo optimizar disponibilidad -> Restringir el tablespace a algunos discos  Para optimizar el scan de particiones -> Poner cada partición en varios discos.

Ejecución en paralelo  Separar una tarea en varias:  En vez de que un sólo proceso resuelva todo un query, varios procesos resuelven el mismo query al mismo tiempo.  Ej. Normal: Para una tabla de un año de ventas, un proceso lee toda la tabla.  Ej. Paralelo: La tabla es manejada por 4 procesos y cada uno de ellos lee un trimestre.  Reduce drásticamente el tiempo de respuesta de un query (muy usado en los DSS y DW).  Es útil para operaciones que acceden a grandes volúmenes de datos, por ej:  Table scan y joins grandes.  Creación de grandes índices.  Scan de índices particionados.  Bulk inserts, updates y deletes.

Particiones  Ayuda a manejar el problema de grandes volúmenes de datos, ya que lo descompone en piezas más chicas.  ¿Con que granularidad particiono? El punto a tener en cuenta es la administración de esas particiones.  Ej: Si guardo 4 años, y voy borrando siempre el último mes. No va a ser lo mismo si lo tengo particionado por trimestre, donde accedo a una partición que sólo contiene 3 meses.  Data segment compression:  Ahorra espacio.  Debería aplicarse sobre tablas particionadas.  Se pueden comprimir particiones: reduce disco y memoria

Tipo de Particiones  Range Partitions: Crea las particiones basadas en rangos de valores de claves de particiones que uno establece para cada partición. Ej, tiempo. Conveniente para particionar datos históricos. Los boundaries de las particiones definiran el orden de la tabla e indices  Hash Partitioning: Utiliza algoritmo de hash distribuyendo registro en diferentes particiones aproximadamente del mismo tamaño. Es un método ideal cuando tengo datos distribuidos en diferentes discos, o cuando no tengo un rango o una columna obvia por la que puedo particionar.  List Partitioning: permite crear una partición indicando valores discretos. Me permite particionar datos que no tienen un orden en valores naturales  Index Partitioning: Puedo elegir si los indices heredan o no las particiones que le hice a las tablas.

Tipo de Particiones  PRUNING PARTITION: El optimizador analiza los from y los where que se usan en el select y excluye las particiones que no se necesitan.  Reduce sustancialmente la cantidad de datos que va a buscar al disco.  WISE JOINS: Reduce la cantidad de información intercambiada entre servidores de ejecución cuando el query se ejecuta en paralelo.

Indices Bitmap Index  Reduce el tiempo de respuesta para queries ad hoc  Reduce el espacio de almacenamiento.  Logra mas performance incluso con pocos procesadores y memoria.  Son usados para DW donde solo se consulta, no son sustentables para OLTP  Buenos para columnas con poco grado de cardinalidad (masculino - femenino) distinct values / cant de regs.  La mayoría tendrian que ser bitmap B-Tree  B-tree Index: usados para columnas con valores unicos, o de alta cardinalidad.

Vistas materializadas  Precalcula joins  Agregaciones

Agregaciones  Es la mejor forma de mejorar performance en grandes dw.  Se puede realizar en todo tipo de dw. “Sumarizar y guardar datos que existen en la fact table con el objetivo de mejorar de las consultas de los usuarios finales”  GOALS AND RISK  Mejorar performance drásticamente para la mayor cantidad de queries de usuarios diferentes  Agregar sólo una cantidad aceptable de almacenamiento extra en el dw.  Impactar el costo de extracción lo menos posible.  Impactar lo menos posible las tareas del dba.

Acercamientos Agregaciones No agregar  Tan pocos datos en la fact que hay buena performance y no es necesario agregar. Agregación exaustiva  Voy a agregar todas las agregaciones posibles. Los queries van a ser muy rápidos, pero voy a complicar la admin del dba, y a aumentar mucho el tiempo de carga y espacio en disco. Agregación selectiva  La cantidad de agregaciones que puedo crear es el número de niveles en cada jerarquía de cada dimensión, multiplicadas entre si  Las tablas agregadas se cargan luego de la carga de la fact y de su verificación.

Que agregar  2 piezas básicas de informacion: Uso y análisis de patrones de información  El primero tiene que ver con el uso de patrones de datos. Los niveles examinados mas frecuentes por el usuario, serán buenos candidatos para agregaciones. Reducción de lineas de la tabla base  En este punto hay que considerar el volumen de los datos en la fact y la distribucion de los datos  Luego de cargar datos, ejecutar algunos queries para obtener el numero de lineas a diferentes niveles de la jerarquia.  Esto nos dira donde decrece el volumen de datos en una sola jerarquia. Las tablas a elegir seran aquellas que decrecen mucho de un nivel a otro de la jerarquia.  Tenemos que buscar donde la interseccion de las dimensiones tiene decrecimiento importante

Creación  Hay varios factores que nos ayudaran a la creación:  El tamaño de la tabla fact.  El numero de agregaciones que se creen. Relacionado con el tamaño de la fact y la ventana de tiempo.  Capacidades de paralelismo. Muy importante para llegar a tiempo. Y nocrear cuellos de botella.  Actualizar o dropear y crear.  Un thread o varios  Metodos para agregar  Cascada... Voy de agregación en agregación  Es rápido  Si tengo una falla en la primer agregacion, entonces me quedo sin las otras  Propagacion de errores