Tecnicas avanzadas de modelado

Slides:



Advertisements
Presentaciones similares
Especialista en Business Intelligence Analysis Services SSAS (Sesión 11) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Advertisements

• SQL Server Analysis Services
• SQL Server Analysis Services
Especialista en Business Intelligence Analysis Services SSAS (Sesión 10) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM.
SQL Básico Prof. Nelliud D. Torres.
Subconsultas Avanzadas
Mejorando la forma de construir datawarehouses usando Microsoft SQL Server 2008 Integration Services.
Pregunta: Solución: Pregunta: Solución: Pregunta: Solución:
CONSULTAS SENCILLAS A LA BASE DE DATOS
Más ejemplos en SQL Francisco Moreno. S sn snombre situacion ciudad S1 Salazar 20 Londres S2 Jaramillo 10 París S3 Bernal30 París S4 Caicedo 20 Londres.
SQL Server Analysis Services SSAS
Especialista en Business Intelligence Analysis Services SSAS (Sesión 8) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Taller de Inteligencia de Negocios SQL Server Analysis Services Semana 8.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Unidad 6. Tema 4. Lenguaje de consultas SQL
Introducción a DAX, problema vs solución
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
DLM Transact SQL Sesión II Recuperación de información.
DML Transact SQL Sesión VI Trabajando con subconsultas.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Suscribase a III Parte Metodología de Ralph Kimball (Ciclo de Vida) para el diseño de Datawarehouses.
1 Conferencia 1 Introducción a los Data Warehouse.
SISTEMAS NUMERICOS ING. SUSANA BELTRAN.
Diseño de Bases de Datos
SSAS Tabular Model Julio Urriola Barra
Microsoft Virtual Academy
Kevin Emmanuel Peralta López
Arquitectura de una Base de Datos
SQL: Structured Query Language
Extendiendo la virtualización hacia la Nube.
SQL Data Warehouse Guía para un desarrolador
Inteligencia de Negocios Business Intelligence (BI)
Un viaje en el tiempo Leonel Abreu
Structure Query Languaje
SQL 2: Structured Query Language
SQL: structured Query Language
La Estación de Ferrocarril The Train Station
SOFTWARE DE ADMINISTRACIÓN DE BASE DE DATOS Informática Aplicada Alumna; Francis Fabiola Fernández Pérez Catedrático: Ing. Milton Obed Enamorado Universidad.
Hoy es Jueves, el 3 de agosto
Escuela Cornelio Saavedra Informática
Título de la presentación
SQL Data Warehouse, casos de uso, escalabilidad, cargas de datos
Hoy es Viernes, el 4 de agosto
SQL AVANZADO saregune CC 2009.
CI2355 – Almacenes de datos y OLAP
Arquitectura y Ciclo de BI Ms. Ing. Omar Antonio Sánchez Guevara.
Streaming de datos con Power BI
Orígenes Funciones Condicionales
Consultas SQL.
Structure Query Languaje
Introducción a los números imaginarios M.C. Fco. Eliezer Sánchez Galván.
Noviembre18, 2017 Concepción, Chile #sqlsatconce.
Aggregation framework con PyMongo
Los adjetivos posesivos
Generaciones de Bases de Datos
La Palabra Crece: Multiplicando Discípulos
La Palabra Crece: Multiplicando Discípulos
La Palabra Crece: Multiplicando Discípulos
La Estación de Ferrocarril The Train Station
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)
Cubos Tabulares Víctor Zúñiga
7 Las Estaciones y El Tiempo
EL JUEGO DE VELOCIDAD         
El imperfect Los Verbos –er y -ir
Palabras negativas.
¿Qué es una Base de Datos? Es un conjunto de datos almacenados. Su esquema es el siguiente : Tabla Persona Base de Datos Tabla Profesión.
Introducción a los SIG. El globo Terrestre Introducción a los SIG Líneas imaginarias de la Tierra.
La Metodología Kimball, es una metodología empleada para la construcción de un almacén de datos (data warehouse, DW) que no es más que, una colección de.
Transcripción de la presentación:

Tecnicas avanzadas de modelado Ruben Pertusa Miguel Egea @RPertusa @MiguelEgea Tecnicas avanzadas de modelado

Sponsors

Rubén Pertusa Lopez @rpertusa www. rpertusa. com rpertusalopez@Gmail Rubén Pertusa Lopez @rpertusa www.rpertusa.com rpertusalopez@Gmail.com Microsoft MVP Data Platform BI BigData Lead Architect & Global BI Manager @DUFRI www.sqlpass.es , Sql Saturday Madrid/Barcelona Founder Miguel Egea Gómez @miguelegea www.portalsql.es megea@solidq.com EX Microsoft MVP Data Platform Mentor & technical advisor at SolidQ Trying to help Ruben at much as posible  both in Madrid and Barcelona

…… sin modelo no hay vida ….. Dimensions, hechos, cubos .. Ralph Kimball Modelo Modelo Modelo Tablas de hechos sin hechos Ejemlo Posts StackOverflow Ejemplo Stock Distinct Count Simple distinct count Distinct Count complejo Otro distinct count complejo Bonus track: Snapshot Convirtiendo tablas snapshot a deltas. Tipos de hechos, problemas y sus soluciones

Tratar con datos No es necesario cambiar. La supervivencia no es obligatoria. W.Edwards Deming

Modelado dimensional Es la implementación de un modelo lógico en una base de datos relacional Estructura los datos en una forma comprensible para los usuarios de negocio Se usa para la implementación de DWH o DM Da información sobre Cómo las entidades se relacionan entre sí Cardinalidad, restriciones, rendimiento

Trabajando con tablas de hechos Tablas de hechos sin hechos Algunas tablas no tienen metricas Hechos Snapshot periódicos Tablas de Hechos Han de implementarse como hechos semiaditivos y eso complica algo el asunto Tablas que contienen o son el origen de las métricas, habitualmente el centro de los esquemas en estrella Hechos transaccionales Son los más communes, simplemente suman y restan Formas híbridas transaccionales y snapshot Una mezcla entre sistemas transacionales y mecanismos de snapshot

Retos trabajando con tablas de hechos Solutions Usar Lastnonempty Lastnonblank LastDate Convertir Medidas semiaditivas en Aditivas cuando sea posible Medidas semi-aditivas Normalmente no aditivas con la dim tiempo Usar Distinct count functions Convertir Distinct count en Count + distinct count Cuando sea posible Distinct-count No aditivas en absoluto Usar Baja granularity Expandir tablas Expandir tablas netgativas Convertir Hechos en delta Positivos en fechas de inicio Negativos al final Fact-less complicated scenarios Como calculo de negativos …

…… sin modelo no hay vida ….. Dimensions, hechos, cubos .. Ralph Kimball Modelo Modelo Modelo Tablas de hechos sin hechos Stock basado en Deltas Metricas History To Date Optimizaciones HTD Distinct Count Simple distinct count Distinct Count complejo Otro distinct count complejo Snapshot Convirtiendo tablas snapshot a deltas. Tipos de hechos, problemas y sus soluciones

Problemas desde-hasta En la base de datos stackoverflow queremos saber cuantas preguntas hay sin responder

Retos para responder No hay preguntas y respuestas La estructura de hechos es un árbol Afortunadamente podemos aplanar ese árbol Relación con el tiempo No nos basta con saber cuantas preguntas hay sin responder ahora, necesitamos saber cuantas había en cualquier momento del tiempo

Diseño de la tabla de hechos SELECT p.[Id], p.[AcceptedAnswerId], p.OwnerUserId, p.[AnswerCount], p.[CreationDate] FromDate, COALESCE(PostLeft.CreationDate, ‘20220517') ToDate FROM [dbo].[Posts] p LEFT JOIN dbo.Posts PostLeft ON p.AcceptedAnswerId = PostLeft.id;

Snapshots Transaccional Solución Capturar en cada momento del tiempo todas las preguntas sin responder Granularidad… usuario-mes Contar tablas usando medidas semi-aditivas Transaccional Crear campos desde- hasta Situar hasta lejano en el tiempo cuando sea nulo Sumar desde el principio de los tiempos hasta el momento actual

Demo. Desde-Hasta Demo. Snapshot

Planificación de soluciones Las instantáneas son sencillas a nivel de DWH. ¿y a nivel de Queries? Deltas skVenta skProd skFecha Importe uds Dto Deteccion fa 1 2/01/19 100 € 3 4/01/19 -1 200 € 2 3/01/19 50 € 5 € SUM*FA 250 € 5 skVenta skProd skFecha Importe uds Dto Deteccion fa 1 2/01/19 100 € 3 4/01/19 -1 2 3/01/19 50 € 5 € SUM*FA skVenta skProd skFecha Importe uds Dto Deteccion fa 1 2/01/19 100 € 3 2 3/01/19 50 € 5 € SUM*FA 150 € skVenta skProd skFecha Importe Uds Dto 1 2/01/19 200 € 3 10 € 2 3/01/19 50€ 5 € skVenta skProd skFecha Importe Uds Dto 1 2/01/19 100 € 3 10 € 2 3/01/19 50€ 5 € skVenta skProd skFecha Importe Uds Dto 1 2/01/19 100 € 3 10 € 2 3/01/19 50€ 5 €

DEMO STOCK

…… sin modelo no hay vida ….. Dimensions, hechos, cubos .. Ralph Kimball Modelo Modelo Modelo Tablas de hechos sin hechos Stock basado en Deltas Metricas History To Date Optimizaciones HTD Distinct Count Simple distinct count Distinct Count complejo Otro distinct count complejo Snapshot Convirtiendo tablas snapshot a deltas. Tipos de hechos, problemas y sus soluciones

Opciones para Distinct count No aditiva No tan buen rendimiento Mucha memoria ocupada Mucha lectura Distinct Count puro N Crea un atributo que indique si el pedido tiene más de una linea Crea una table con solo los ids de cabecera y ese atributo Si no se usa ningun atributo específico del detalle… usa count Usa distinctcount solo filtrando por las cabeceras de mas de 1 linea Distinct-count tuneado Distinct- count vs MxN Compresión de relaciónes MxN

Demo distinct count

This Photo by Unknown Author is licensed under CC BY-SA-NC