SlideShare a Scribd company logo
1 of 92
Microsoft Data Platform
Avanet
Jose Redondo
Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
redondoj@gmail.com | @redondoj | redondoj.wordpress.com
Acceso a datos con solo dos operaciones: “Carga inicial de datos” y “Acceso a datos”
Almacén de Datos vs. Bases de Datos Operaciones
OLTP OLAP
USUARIOS Empleado de oficina, Profesional IT Analista de decisiones
FUNCIÓN Operaciones de día a día Soporte de decisiones
DISEÑO DE BASE DE DATOS Orientado a la aplicación Orientado a temas
DATOS Actual, A la fecha
Detallado, Completamente relacional
Aislado
Histórico
Resumido, Multidimensional
Integrado, Consolidado
USO Repetitivo AD HOC
ACCESO Lectura y Escritura; Índice / Hash en clave
primaria
Cantidades de exploraciones / escaneos
GRUPO DE TRABAJO Corto, Transacciones sencillas / simple Consultas complejas
No. DE REGISTROS ACCESADOS Decenas Millones
No. DE USUARIOS Miles Cientos
TAMAÑO DE LA BASE DE DATOS 100 MB-GB 100GB-TB
METRICA Rendimiento de transacciones Rendimiento de las consultas, Respuestas
OLTP vs. OLAP
Porqué mantener separado el Almacén de Datos
Desde Tablas y Hojas de cálculos hasta
Cubos de datos
Cubo: Una estructura de Cuboides
All
Tiempo Producto Ciudad Proveedor
Tiempo, Producto
Tiempo, Ciudad
Tiempo, Proveedor
Producto, Ciudad
Producto, Proveedor
Ciudad, Proveedor
Tiempo, Producto, Ciudad
Tiempo, Producto, Proveedor
Tiempo, Ciudad, Proveedor
Tiempo, Ciudad, Proveedor
Tiempo, Producto, Ciudad, Proveedor
0-D (Apices) cuboide
1-D cuboides
2-D cuboides
3-D cuboides
4-D (Base) cuboides
Modelado conceptual de Almacén de Datos
ESQUEMA ESTRELLA
Esquemas de datos multidimensionales
ESQUEMA COPO DE NIEVE
Esquemas de datos multidimensionales
CONJUNTO DE HECHOS
Esquemas de datos multidimensionales
LENGUAJE DE CONSULTA DE MINERIA DE DATOS - DMQL
Escenario de Análisis de datos
(Minería de Datos)
• Cube Definition (Fact Table)
define cube <cube_name> [<dimension_list>]:
<measure_list>
• Dimension Definition ( Dimension Table )
define dimension <dimension_name> as
(<attribute_or_subdimension_list>)
• Special Case (Shared Dimension Tables)
o First time as “cube definition”
o define dimension <dimension_name> as
<dimension_name_first_time> in cube
<cube_name_first_time>
DEFINIENDO UN ESQUEMA ESTRELLA EN DMQL
Escenario de Análisis de datos
(Minería de Datos)
define cube sales_star [time, item, branch, location]:
dollars_sold = sum(sales_in_dollars), avg_sales =
avg(sales_in_dollars), units_sold = count(*)
define dimension time as (time_key, day, day_of_week, month, quarter,
year)
define dimension item as (item_key, item_name, brand, type,
supplier_type)
define dimension branch as (branch_key, branch_name, branch_type)
define dimension location as (location_key, street, city, province_or_state,
country)
DEFINIENDO UN ESQUEMA COPO DE NIEVE EN DMQL
Escenario de Análisis de datos
(Minería de Datos)
define cube sales_snowflake [time, item, branch, location]:
dollars_sold = sum(sales_in_dollars), avg_sales =
avg(sales_in_dollars), units_sold = count(*)
define dimension time as (time_key, day, day_of_week, month, quarter,
year)
define dimension item as (item_key, item_name, brand, type,
supplier(supplier_key, supplier_type))
define dimension branch as (branch_key, branch_name, branch_type)
define dimension location as (location_key, street, city(city_key,
province_or_state, country))
DEFINIENDO UN CONJUNTO DE HECHOS EN DMQL
Escenario de Análisis de datos
(Minería de Datos)
define cube sales [time, item, branch, location]:
dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars),
units_sold = count(*)
define dimension time as (time_key, day, day_of_week, month, quarter, year)
define dimension item as (item_key, item_name, brand, type, supplier_type)
define dimension branch as (branch_key, branch_name, branch_type)
define dimension location as (location_key, street, city, province_or_state, country)
define cube shipping [time, item, shipper, from_location, to_location]:
dollar_cost = sum(cost_in_dollars), unit_shipped = count(*)
define dimension time as time in cube sales
define dimension item as item in cube sales
define dimension shipper as (shipper_key, shipper_name, location as location
in cube sales, shipper_type)
define dimension from_location as location in cube sales
define dimension to_location as location in cube sales
MEDIDAS: TRES CATEGORIAS
Componentes
CONCEPTO DE JERARQUÍAS: DIMENSIONES (LOCALIZACIÓN)
Componentes
All
Europa Norte America
MéxicoCanadáEspañaAlemania
Vancouver
DowntownNorth East
...
......
... ...
...
All
Región
Oficina
País
TorontoFrankfurtCiudad
VISTA DE UN ALMACÉN DE DATOS Y JERARQUÍAS
Componentes
Especificación de
Jerarquías
Esquema Jerarquía
day <
{month <
quarter;
week} <
year
Jerarquía Set_grouping
{1..10} <
inexpensive
DATOS MULTIDIMENSIONALES
Modelo de datos
EJEMPLO DE CUBO DE DATOS
Modelo de datos
NIVELES DE NAVEGACIÓN EN EL CUBO
Modelo de datos
All
Productos Tiempo País
Productos, Tiempo
Productos, País
Tiempo, País
Productos, Tiempo, País
0-D (Ápice) Cuboides
1-D cuboides
2-D cuboides
3-D (Base) cuboide
VISUALIZACIÓN DE DATOS EN UN CUBO
Modelo de datos
TÍPICAS OPERACIONES OLAP
Modelo de datos
EJEMPLO DE MODELO DE CONSULTA ESQUEMA ESTRELLA
Modelo de datos
Método de envío
AIR-EXPRESS
CAMIONES
ORDEN DE COMPRA
Pedidos
CONTRATOS
Clientes
Productos
GRUPO DE PRODUCTO
LINEA DE PRODUCTO
ARTÍCULO
VENDEDOR
ÁREA
DIVISIÓN
OrganizaciónPromoción
CIUDAD
PAÍS
REGIÓN
Ubicación
DIARIO
TRIMESTRALANUAL
Tiempo
Cadacirculoesdenominadoun“Footprint”
DEMO
“Creación del contexto de un Almacén de Datos”
TRES MODELOS DE ALMACENES DE DATOS
Define un Alto nivel corporativo de Modelos de Datos
Data
Mart
Data
Mart
Data Marts
Distribuidos
Almacén de Datos
Multi-Tier
Almacén de
Datos
Empresarial
Modelo de
Refinamiento
Modelo de
refinamiento
DEMO
“Creación del un proyecto de migración de datos a un
Almacén de Datos”
)1
1
( 


n
i
iLT
(Producto)
(Ciudad)
()
(Año)
(Ciudad, Producto) (Ciudad, Año) (Producto, Año)
(Ciudad, Producto, Año)
La presente exposición no se encuentra en ningún libro en el
mercado actualmente, el texto proviene de un trabajo de
investigación por parte de estudiantes del MIT (Massachusetts
Institute of Technology)
A
B
29 30 31 32
1 2 3 4
5
9
13 14 15 16
64636261
48474645
a1a0
c3
c2
c1
c0
b3
b2
b1
b0
a2 a3
C
B
44
28 56
40
24 52
36
20
60
¿Cuál es el mejor orden de escaneo
para hacer la agregación
“Multiway"?
A
B
29 30 31 32
1 2 3 4
5
9
13 14 15 16
64636261
48474645
a1a0
c3
c2
c1
c0
b3
b2
b1
b0
a2 a3
C
44
28 56
40
24 52
36
20
60
B
A
B
29 30 31 32
1 2 3 4
5
9
13 14 15 16
64636261
48474645
a1a0
c3
c2
c1
c0
b3
b2
b1
b0
a2 a3
C
44
28 56
40
24 52
36
20
60
B
CLIENTE REGIÓN TIPO
C1 ASIA VENTA DETALLADA
C2 EUROPA DISTRIBUIDOR
C3 ASIA DISTRIBUIDOR
C4 AMERICA VENTA DETALLADA
C5 EUROPA DISTRIBUIDOR
REGID ASIA EUROPA AMERICA
1 1 0 0
2 0 1 0
3 1 0 0
4 0 0 1
5 0 1 0
REGID VENTA DETALLADA DISTRIBUIDOR
1 1 0
2 0 1
3 0 1
4 1 0
5 0 1
TABLA BASE ÍNDICE EN REGIÓN ÍNDICE EN TIPO
DEMO
“Creación del un proyecto de análisis de datos a un
Almacén de Datos”
CREATE CUBE Ventas_Argentina AS
SELECT Mes, Ciudad, Clientes,
AVG(Valor), COUNT(*)
FROM Ventas_Generales
CUBE BY Mes, Ciudad, Clientes
HAVING AVG(Valor) >= 800 AND
COUNT(*) >= 50
CREATE CUBE Ventas_Argentina AS
SELECT Mes, Ciudad, Clientes,
AVG(Valor), COUNT(*)
FROM Ventas_Generales
CUBE BY Mes, Ciudad, Clientes
HAVING AVG(Valor) >= 800 AND
COUNT(*) >= 50
MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO
Jan Toronto Edu Printer 500 485
Jan Toronto Hld TV 800 1200
Jan Toronto Edu Camera 1160 1280
Feb Montreal Bus Laptop 1500 2500
Mar Vancouver Edu HD 540 520
… … … … … …

 50

MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO
… … … … … …
 50
Range Sum Count
Over 800 28000 20
600~800 10600 15
400~600 15200 30
… … …
Top 50
Aproximado AVG50()=
(28000+10600+600*15)/50=952
Se supondría que (*, Vancouver, *) nosotros tendríamos
MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO
… … … … … …
La celda puede ejecutar el comando HAVING
Aproximado AVG50()
Anti Monotonico, puede
ser computado
eficientemente
Real AVG50()
Anti Monotonico, pero
computadamente
costoso
AVG()
No Anti
Monotonico
strongestweakest
MES CIUDAD CLIENTES PRODUCTOS VR. NETO VR. BRUTO
Jan Toronto Edu Printer 500 485
Jan Toronto Hhd TV 800 1200
Jan Toronto Edu Camera 1160 1280
Feb Montreal Bus Laptop 1500 2500
Mar Vancouver Edu HD 540 520
… … … … … …
Root
Edu Hhd Bus
Jan Mar Jan Feb
Toronto Vancouver Toronto Montreal
Q.I.Q.I. Q.I.Quant-Info
Sum: 1765
Cuenta: 2
Contendores
Attr. Val. Quant-Info Side-link
Edu Sum:2285 …
Hhd …
Bus …
… …
Jan …
Feb …
… …
Toronto …
Vancouver …
Montreal …
… …
EncabezadodeTabla
Root
Edu Hhd Bus
Jan Mar Jan Feb
Toronto Vancouver Toronto Montreal
Q.I.Q.I. Q.I.
Quant-Info
Sum: 1765
Cnt: 2
Contenedores
Attr. Val. Quant-Info Side-link
Edu Sum:2285 …
Hhd …
Bus …
… …
Jan …
Feb …
… …
Tor …
Van …
Mon …
… …
Attr. Val. Q.I. Side-link
Edu …
Hhd …
Bus …
… …
Jan …
Feb …
… …
EncabezadodeTabla
HTor
Desde (*, *, Toronto) hasta (*, Jan, Toronto)
Root
Edu. Hhd. Bus.
Jan. Mar. Jan. Feb.
Toronto Vancouver Toronto Montreal
Q.I.Q.I. Q.I.
Attr. Val. Quant-Info Side-link
Edu. Sum:2285 …
Hhd. …
Bus. …
… …
Jan. …
Feb. …
Mar. …
… …
Tor. …
Van. …
Mont. …
… …
1. Roll-Up Quant-Info
2. Computando celdas involucrando Fechas PERO
no Ciudades
Q.I.
Asignación correcta Top-K: Si Q.I. en la inferior tupla
promedio Top-K accede, igual que su superior
inmediato. No es necesario un intervalo!
Root
edu hhd bus
Jan Mar Jan Feb
Toronto Vancouver Toronto
Montreal
Q.I.Q.I. Q.I.
Attr. Val. Quant-Info Side-link
Edu Sum:2285 …
Hhd …
Bus …
… …
Jan …
Feb …
Mar …
… …
Tor …
Van …
Mon …
… …
Comprueba el encabezado de la tabla directamente
Q.I.
0.008%, 73.71
0.008%, 265.12
0
50
100
150
200
250
300
0.00% 0.02% 0.04% 0.06% 0.08% 0.10%
Runtime(Segundos)
Count threshold
Escalabilidad de H-Cubing
top-k H-Cubing
top-k BUC
DEMO
“Mantenimiento de un Almacén de Datos”
DEMO
“Un Almacén de Datos en La Nube”
 Almacén de datos
 Un modelo multidimensional de un data warehouse
 Esquema en estrella, Esquema de copo de nieve, Conjuntos de tablas de Hechos
 Un cubo de datos se compone de Dimensiones & Medidas
 Las operaciones de OLAP: Drilling, Rolling, Slicing, Dicing y Pivoting
 Los servidores OLAP: ROLAP, MOLAP, HOLAP
 Cómputo eficiente de cubos de datos
 Parcial vs. Full vs. No materialización
 Agregación matricial multiway
 Índice Bitmap y/o Implementaciones de Índice de uniones
 Desarrollo de tecnología de cubo de datos
 Camino al conocimiento y multi-funciones de cubos
 Desde OLAP a OLAM (On-line Analytical Mining)
Jose Redondo
Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ
redondoj@gmail.com | @redondoj | redondoj.wordpress.com

More Related Content

What's hot

Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Services
brobelo
 
13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright
Software Guru
 

What's hot (20)

Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS Azure SQL Data Warehouse - 24 horas de PASS
Azure SQL Data Warehouse - 24 horas de PASS
 
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
Novedades en el manejo de Grandes volúmenes de datos con SQL Server 2014
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Introduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch DatabasesIntroduccion a SQL Server 2016 Stretch Databases
Introduccion a SQL Server 2016 Stretch Databases
 
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
Perspectiva de Microsoft Business Intelligence a partir de la integracion con...
 
Migrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryMigrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data Factory
 
Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Services
 
Business Intelligence en Azure
Business Intelligence en AzureBusiness Intelligence en Azure
Business Intelligence en Azure
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
Bases de Datos Analiticas-Columnares
Bases de Datos Analiticas-ColumnaresBases de Datos Analiticas-Columnares
Bases de Datos Analiticas-Columnares
 
Que hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesQue hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis Services
 
Explorando los Sabores de Azure DW
Explorando los Sabores de Azure DWExplorando los Sabores de Azure DW
Explorando los Sabores de Azure DW
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
SQL Azure Datawarehouse
SQL Azure DatawarehouseSQL Azure Datawarehouse
SQL Azure Datawarehouse
 
13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright13 14 keynote dando sentido al internet de las cosas, infobright
13 14 keynote dando sentido al internet de las cosas, infobright
 
Amazon simple db
Amazon simple dbAmazon simple db
Amazon simple db
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
 
SQL Server Analysis Services
SQL Server Analysis ServicesSQL Server Analysis Services
SQL Server Analysis Services
 
Global azure bootcamp SQL Azure End to End
Global azure bootcamp   SQL Azure End to End Global azure bootcamp   SQL Azure End to End
Global azure bootcamp SQL Azure End to End
 

Viewers also liked

Viewers also liked (20)

Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...
 
Generando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big DataGenerando Toma de Decisiones Inteligente con Microsoft Big Data
Generando Toma de Decisiones Inteligente con Microsoft Big Data
 
Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?Inteligencia de Negocio - Que Planeta es eso?
Inteligencia de Negocio - Que Planeta es eso?
 
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
Building The Modern Architecture of Hybrid Data for Big Data with Microsoft D...
 
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
Introducción a Power BI bajo escenarios empresariales híbridos con SQL Server...
 
BI y Data Warehouse - Conociendo orígenes
BI y Data Warehouse - Conociendo orígenesBI y Data Warehouse - Conociendo orígenes
BI y Data Warehouse - Conociendo orígenes
 
Big Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivasBig Data - Desarrollando soluciones efectivas
Big Data - Desarrollando soluciones efectivas
 
Modelado de Data Warehouse
Modelado de Data WarehouseModelado de Data Warehouse
Modelado de Data Warehouse
 
Configurando Aplicaciones para Réplicas de Lectura de SQL-Server AlwaysOn - C...
Configurando Aplicaciones para Réplicas de Lectura de SQL-Server AlwaysOn - C...Configurando Aplicaciones para Réplicas de Lectura de SQL-Server AlwaysOn - C...
Configurando Aplicaciones para Réplicas de Lectura de SQL-Server AlwaysOn - C...
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
Creando una solución AlwaysON SQL Server 2014 híbrida
Creando una solución AlwaysON SQL Server 2014 híbridaCreando una solución AlwaysON SQL Server 2014 híbrida
Creando una solución AlwaysON SQL Server 2014 híbrida
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012
Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012
Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
 
Business Intelligence con Sql Server 2014
Business Intelligence con Sql Server 2014Business Intelligence con Sql Server 2014
Business Intelligence con Sql Server 2014
 

Similar to Introduccion a las Bodegas de Datos

slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptxslides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
AdrianAntonio29
 
074 bi agil + saa s + cloud = tda
074 bi agil + saa s + cloud = tda074 bi agil + saa s + cloud = tda
074 bi agil + saa s + cloud = tda
GeneXus
 
DATA WAREHOUSE
DATA WAREHOUSEDATA WAREHOUSE
DATA WAREHOUSE
Grupo Dos
 
Tarea datawarehouse
Tarea datawarehouseTarea datawarehouse
Tarea datawarehouse
viviana
 

Similar to Introduccion a las Bodegas de Datos (20)

2 Desa Sincrono 2 Caso Modelamiento.doc
2 Desa Sincrono 2 Caso Modelamiento.doc2 Desa Sincrono 2 Caso Modelamiento.doc
2 Desa Sincrono 2 Caso Modelamiento.doc
 
Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
 
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptxslides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
 
Agrupando datos en SQL Server
Agrupando datos en SQL ServerAgrupando datos en SQL Server
Agrupando datos en SQL Server
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
 
Data analysis for startups
Data analysis for startupsData analysis for startups
Data analysis for startups
 
074 bi agil + saa s + cloud = tda
074 bi agil + saa s + cloud = tda074 bi agil + saa s + cloud = tda
074 bi agil + saa s + cloud = tda
 
Inteligencia de mercado y bases de datos de actualizada
Inteligencia de mercado y bases de datos de actualizadaInteligencia de mercado y bases de datos de actualizada
Inteligencia de mercado y bases de datos de actualizada
 
Datawarehouse práctica 6
Datawarehouse   práctica 6Datawarehouse   práctica 6
Datawarehouse práctica 6
 
Trabajo practico N°4 Access
Trabajo practico N°4 AccessTrabajo practico N°4 Access
Trabajo practico N°4 Access
 
DATA WAREHOUSE
DATA WAREHOUSEDATA WAREHOUSE
DATA WAREHOUSE
 
Bd
BdBd
Bd
 
Plantilla con-normas-icontec
Plantilla con-normas-icontecPlantilla con-normas-icontec
Plantilla con-normas-icontec
 
Cubos ppt
Cubos pptCubos ppt
Cubos ppt
 
Arclight charladigital class 14
Arclight charladigital class 14Arclight charladigital class 14
Arclight charladigital class 14
 
Bd laboratorio5
Bd laboratorio5Bd laboratorio5
Bd laboratorio5
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
Jh actualiizado
Jh actualiizadoJh actualiizado
Jh actualiizado
 
Tarea datawarehouse
Tarea datawarehouseTarea datawarehouse
Tarea datawarehouse
 
SQLSaturday 368 Costa Rica 2015 Cubes Development
SQLSaturday 368 Costa Rica 2015 Cubes DevelopmentSQLSaturday 368 Costa Rica 2015 Cubes Development
SQLSaturday 368 Costa Rica 2015 Cubes Development
 

More from Joseph Lopez

More from Joseph Lopez (18)

Entorno de datos Microsoft Cloud
Entorno de datos Microsoft CloudEntorno de datos Microsoft Cloud
Entorno de datos Microsoft Cloud
 
Microsoft Azure Data Environment
Microsoft Azure Data EnvironmentMicrosoft Azure Data Environment
Microsoft Azure Data Environment
 
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual MachineAplicando SQL Server 2016 en Microsoft Azure Virtual Machine
Aplicando SQL Server 2016 en Microsoft Azure Virtual Machine
 
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
Conociendo Dynamic Data Masking en entornos de producción con SQL Server 2016...
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Aplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas HibridosAplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas Hibridos
 
Performance Tuning en Azure SQL Database
Performance Tuning en Azure SQL DatabasePerformance Tuning en Azure SQL Database
Performance Tuning en Azure SQL Database
 
Tablas temporales en SQL Server 2016 y Azure SQL Database v12
Tablas temporales en SQL Server 2016 y Azure SQL Database v12Tablas temporales en SQL Server 2016 y Azure SQL Database v12
Tablas temporales en SQL Server 2016 y Azure SQL Database v12
 
DBA para SharePoint
DBA para SharePointDBA para SharePoint
DBA para SharePoint
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
Introduccion a Power BI
Introduccion a Power BIIntroduccion a Power BI
Introduccion a Power BI
 
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
Configuring SharePoint Server 2013 environment for Business Intelligence Plat...
 
Configurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business IntelligenceConfigurar su entorno SharePoint para Business Intelligence
Configurar su entorno SharePoint para Business Intelligence
 
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
Instalando y configurando PowerPivot para SharePoint 2013 y SQL Server 2014
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (10)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Introduccion a las Bodegas de Datos

  • 1. Microsoft Data Platform Avanet Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Acceso a datos con solo dos operaciones: “Carga inicial de datos” y “Acceso a datos”
  • 11. Almacén de Datos vs. Bases de Datos Operaciones
  • 12. OLTP OLAP USUARIOS Empleado de oficina, Profesional IT Analista de decisiones FUNCIÓN Operaciones de día a día Soporte de decisiones DISEÑO DE BASE DE DATOS Orientado a la aplicación Orientado a temas DATOS Actual, A la fecha Detallado, Completamente relacional Aislado Histórico Resumido, Multidimensional Integrado, Consolidado USO Repetitivo AD HOC ACCESO Lectura y Escritura; Índice / Hash en clave primaria Cantidades de exploraciones / escaneos GRUPO DE TRABAJO Corto, Transacciones sencillas / simple Consultas complejas No. DE REGISTROS ACCESADOS Decenas Millones No. DE USUARIOS Miles Cientos TAMAÑO DE LA BASE DE DATOS 100 MB-GB 100GB-TB METRICA Rendimiento de transacciones Rendimiento de las consultas, Respuestas OLTP vs. OLAP
  • 13. Porqué mantener separado el Almacén de Datos
  • 14.
  • 15.
  • 16. Desde Tablas y Hojas de cálculos hasta Cubos de datos
  • 17. Cubo: Una estructura de Cuboides All Tiempo Producto Ciudad Proveedor Tiempo, Producto Tiempo, Ciudad Tiempo, Proveedor Producto, Ciudad Producto, Proveedor Ciudad, Proveedor Tiempo, Producto, Ciudad Tiempo, Producto, Proveedor Tiempo, Ciudad, Proveedor Tiempo, Ciudad, Proveedor Tiempo, Producto, Ciudad, Proveedor 0-D (Apices) cuboide 1-D cuboides 2-D cuboides 3-D cuboides 4-D (Base) cuboides
  • 18. Modelado conceptual de Almacén de Datos
  • 19. ESQUEMA ESTRELLA Esquemas de datos multidimensionales
  • 20. ESQUEMA COPO DE NIEVE Esquemas de datos multidimensionales
  • 21. CONJUNTO DE HECHOS Esquemas de datos multidimensionales
  • 22. LENGUAJE DE CONSULTA DE MINERIA DE DATOS - DMQL Escenario de Análisis de datos (Minería de Datos) • Cube Definition (Fact Table) define cube <cube_name> [<dimension_list>]: <measure_list> • Dimension Definition ( Dimension Table ) define dimension <dimension_name> as (<attribute_or_subdimension_list>) • Special Case (Shared Dimension Tables) o First time as “cube definition” o define dimension <dimension_name> as <dimension_name_first_time> in cube <cube_name_first_time>
  • 23. DEFINIENDO UN ESQUEMA ESTRELLA EN DMQL Escenario de Análisis de datos (Minería de Datos) define cube sales_star [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier_type) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city, province_or_state, country)
  • 24. DEFINIENDO UN ESQUEMA COPO DE NIEVE EN DMQL Escenario de Análisis de datos (Minería de Datos) define cube sales_snowflake [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier(supplier_key, supplier_type)) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city(city_key, province_or_state, country))
  • 25. DEFINIENDO UN CONJUNTO DE HECHOS EN DMQL Escenario de Análisis de datos (Minería de Datos) define cube sales [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier_type) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city, province_or_state, country) define cube shipping [time, item, shipper, from_location, to_location]: dollar_cost = sum(cost_in_dollars), unit_shipped = count(*) define dimension time as time in cube sales define dimension item as item in cube sales define dimension shipper as (shipper_key, shipper_name, location as location in cube sales, shipper_type) define dimension from_location as location in cube sales define dimension to_location as location in cube sales
  • 27. CONCEPTO DE JERARQUÍAS: DIMENSIONES (LOCALIZACIÓN) Componentes All Europa Norte America MéxicoCanadáEspañaAlemania Vancouver DowntownNorth East ... ...... ... ... ... All Región Oficina País TorontoFrankfurtCiudad
  • 28. VISTA DE UN ALMACÉN DE DATOS Y JERARQUÍAS Componentes Especificación de Jerarquías Esquema Jerarquía day < {month < quarter; week} < year Jerarquía Set_grouping {1..10} < inexpensive
  • 30. EJEMPLO DE CUBO DE DATOS Modelo de datos
  • 31. NIVELES DE NAVEGACIÓN EN EL CUBO Modelo de datos All Productos Tiempo País Productos, Tiempo Productos, País Tiempo, País Productos, Tiempo, País 0-D (Ápice) Cuboides 1-D cuboides 2-D cuboides 3-D (Base) cuboide
  • 32. VISUALIZACIÓN DE DATOS EN UN CUBO Modelo de datos
  • 34. EJEMPLO DE MODELO DE CONSULTA ESQUEMA ESTRELLA Modelo de datos Método de envío AIR-EXPRESS CAMIONES ORDEN DE COMPRA Pedidos CONTRATOS Clientes Productos GRUPO DE PRODUCTO LINEA DE PRODUCTO ARTÍCULO VENDEDOR ÁREA DIVISIÓN OrganizaciónPromoción CIUDAD PAÍS REGIÓN Ubicación DIARIO TRIMESTRALANUAL Tiempo Cadacirculoesdenominadoun“Footprint”
  • 35. DEMO “Creación del contexto de un Almacén de Datos”
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. TRES MODELOS DE ALMACENES DE DATOS
  • 42. Define un Alto nivel corporativo de Modelos de Datos Data Mart Data Mart Data Marts Distribuidos Almacén de Datos Multi-Tier Almacén de Datos Empresarial Modelo de Refinamiento Modelo de refinamiento
  • 43.
  • 44. DEMO “Creación del un proyecto de migración de datos a un Almacén de Datos”
  • 45.
  • 46.
  • 48. (Producto) (Ciudad) () (Año) (Ciudad, Producto) (Ciudad, Año) (Producto, Año) (Ciudad, Producto, Año)
  • 49.
  • 50. La presente exposición no se encuentra en ningún libro en el mercado actualmente, el texto proviene de un trabajo de investigación por parte de estudiantes del MIT (Massachusetts Institute of Technology)
  • 51. A B 29 30 31 32 1 2 3 4 5 9 13 14 15 16 64636261 48474645 a1a0 c3 c2 c1 c0 b3 b2 b1 b0 a2 a3 C B 44 28 56 40 24 52 36 20 60 ¿Cuál es el mejor orden de escaneo para hacer la agregación “Multiway"?
  • 52. A B 29 30 31 32 1 2 3 4 5 9 13 14 15 16 64636261 48474645 a1a0 c3 c2 c1 c0 b3 b2 b1 b0 a2 a3 C 44 28 56 40 24 52 36 20 60 B
  • 53. A B 29 30 31 32 1 2 3 4 5 9 13 14 15 16 64636261 48474645 a1a0 c3 c2 c1 c0 b3 b2 b1 b0 a2 a3 C 44 28 56 40 24 52 36 20 60 B
  • 54. CLIENTE REGIÓN TIPO C1 ASIA VENTA DETALLADA C2 EUROPA DISTRIBUIDOR C3 ASIA DISTRIBUIDOR C4 AMERICA VENTA DETALLADA C5 EUROPA DISTRIBUIDOR REGID ASIA EUROPA AMERICA 1 1 0 0 2 0 1 0 3 1 0 0 4 0 0 1 5 0 1 0 REGID VENTA DETALLADA DISTRIBUIDOR 1 1 0 2 0 1 3 0 1 4 1 0 5 0 1 TABLA BASE ÍNDICE EN REGIÓN ÍNDICE EN TIPO
  • 55.
  • 56.
  • 57.
  • 58.
  • 59. DEMO “Creación del un proyecto de análisis de datos a un Almacén de Datos”
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. CREATE CUBE Ventas_Argentina AS SELECT Mes, Ciudad, Clientes, AVG(Valor), COUNT(*) FROM Ventas_Generales CUBE BY Mes, Ciudad, Clientes HAVING AVG(Valor) >= 800 AND COUNT(*) >= 50
  • 67. CREATE CUBE Ventas_Argentina AS SELECT Mes, Ciudad, Clientes, AVG(Valor), COUNT(*) FROM Ventas_Generales CUBE BY Mes, Ciudad, Clientes HAVING AVG(Valor) >= 800 AND COUNT(*) >= 50 MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO Jan Toronto Edu Printer 500 485 Jan Toronto Hld TV 800 1200 Jan Toronto Edu Camera 1160 1280 Feb Montreal Bus Laptop 1500 2500 Mar Vancouver Edu HD 540 520 … … … … … …
  • 68.   50  MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO … … … … … …
  • 70. Range Sum Count Over 800 28000 20 600~800 10600 15 400~600 15200 30 … … … Top 50 Aproximado AVG50()= (28000+10600+600*15)/50=952 Se supondría que (*, Vancouver, *) nosotros tendríamos MES CIUDAD CLIENTES PRODUCTOS VALOR NETO VALOR BRUTO … … … … … … La celda puede ejecutar el comando HAVING
  • 71. Aproximado AVG50() Anti Monotonico, puede ser computado eficientemente Real AVG50() Anti Monotonico, pero computadamente costoso AVG() No Anti Monotonico strongestweakest
  • 72.
  • 73. MES CIUDAD CLIENTES PRODUCTOS VR. NETO VR. BRUTO Jan Toronto Edu Printer 500 485 Jan Toronto Hhd TV 800 1200 Jan Toronto Edu Camera 1160 1280 Feb Montreal Bus Laptop 1500 2500 Mar Vancouver Edu HD 540 520 … … … … … … Root Edu Hhd Bus Jan Mar Jan Feb Toronto Vancouver Toronto Montreal Q.I.Q.I. Q.I.Quant-Info Sum: 1765 Cuenta: 2 Contendores Attr. Val. Quant-Info Side-link Edu Sum:2285 … Hhd … Bus … … … Jan … Feb … … … Toronto … Vancouver … Montreal … … … EncabezadodeTabla
  • 74.
  • 75. Root Edu Hhd Bus Jan Mar Jan Feb Toronto Vancouver Toronto Montreal Q.I.Q.I. Q.I. Quant-Info Sum: 1765 Cnt: 2 Contenedores Attr. Val. Quant-Info Side-link Edu Sum:2285 … Hhd … Bus … … … Jan … Feb … … … Tor … Van … Mon … … … Attr. Val. Q.I. Side-link Edu … Hhd … Bus … … … Jan … Feb … … … EncabezadodeTabla HTor Desde (*, *, Toronto) hasta (*, Jan, Toronto)
  • 76. Root Edu. Hhd. Bus. Jan. Mar. Jan. Feb. Toronto Vancouver Toronto Montreal Q.I.Q.I. Q.I. Attr. Val. Quant-Info Side-link Edu. Sum:2285 … Hhd. … Bus. … … … Jan. … Feb. … Mar. … … … Tor. … Van. … Mont. … … … 1. Roll-Up Quant-Info 2. Computando celdas involucrando Fechas PERO no Ciudades Q.I. Asignación correcta Top-K: Si Q.I. en la inferior tupla promedio Top-K accede, igual que su superior inmediato. No es necesario un intervalo!
  • 77. Root edu hhd bus Jan Mar Jan Feb Toronto Vancouver Toronto Montreal Q.I.Q.I. Q.I. Attr. Val. Quant-Info Side-link Edu Sum:2285 … Hhd … Bus … … … Jan … Feb … Mar … … … Tor … Van … Mon … … … Comprueba el encabezado de la tabla directamente Q.I.
  • 78.
  • 79. 0.008%, 73.71 0.008%, 265.12 0 50 100 150 200 250 300 0.00% 0.02% 0.04% 0.06% 0.08% 0.10% Runtime(Segundos) Count threshold Escalabilidad de H-Cubing top-k H-Cubing top-k BUC
  • 80.
  • 81.
  • 82.
  • 83. DEMO “Mantenimiento de un Almacén de Datos”
  • 84.
  • 85.
  • 86.
  • 87. DEMO “Un Almacén de Datos en La Nube”
  • 88.
  • 89.  Almacén de datos  Un modelo multidimensional de un data warehouse  Esquema en estrella, Esquema de copo de nieve, Conjuntos de tablas de Hechos  Un cubo de datos se compone de Dimensiones & Medidas  Las operaciones de OLAP: Drilling, Rolling, Slicing, Dicing y Pivoting  Los servidores OLAP: ROLAP, MOLAP, HOLAP  Cómputo eficiente de cubos de datos  Parcial vs. Full vs. No materialización  Agregación matricial multiway  Índice Bitmap y/o Implementaciones de Índice de uniones  Desarrollo de tecnología de cubo de datos  Camino al conocimiento y multi-funciones de cubos  Desde OLAP a OLAM (On-line Analytical Mining)
  • 90.
  • 91.
  • 92. Jose Redondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com