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

Introduccion a las Bodegas de Datos

  • 1.
    Microsoft Data Platform Avanet JoseRedondo Microsoft SQL Server MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com
  • 10.
    Acceso a datoscon solo dos operaciones: “Carga inicial de datos” y “Acceso a datos”
  • 11.
    Almacén de Datosvs. Bases de Datos Operaciones
  • 12.
    OLTP OLAP USUARIOS Empleadode 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 separadoel Almacén de Datos
  • 16.
    Desde Tablas yHojas de cálculos hasta Cubos de datos
  • 17.
    Cubo: Una estructurade 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 deAlmacén de Datos
  • 19.
    ESQUEMA ESTRELLA Esquemas dedatos multidimensionales
  • 20.
    ESQUEMA COPO DENIEVE Esquemas de datos multidimensionales
  • 21.
    CONJUNTO DE HECHOS Esquemasde datos multidimensionales
  • 22.
    LENGUAJE DE CONSULTADE 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 ESQUEMAESTRELLA 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 ESQUEMACOPO 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 CONJUNTODE 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
  • 26.
  • 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 UNALMACÉ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
  • 29.
  • 30.
    EJEMPLO DE CUBODE DATOS Modelo de datos
  • 31.
    NIVELES DE NAVEGACIÓNEN 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 DATOSEN UN CUBO Modelo de datos
  • 33.
  • 34.
    EJEMPLO DE MODELODE 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 contextode un Almacén de Datos”
  • 41.
    TRES MODELOS DEALMACENES DE DATOS
  • 42.
    Define un Altonivel 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
  • 44.
    DEMO “Creación del unproyecto de migración de datos a un Almacén de Datos”
  • 47.
  • 48.
    (Producto) (Ciudad) () (Año) (Ciudad, Producto) (Ciudad,Año) (Producto, Año) (Ciudad, Producto, Año)
  • 50.
    La presente exposiciónno 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 3132 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 3132 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 3132 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 C1ASIA 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
  • 59.
    DEMO “Creación del unproyecto de análisis de datos a un Almacén de Datos”
  • 66.
    CREATE CUBE Ventas_ArgentinaAS 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_ArgentinaAS 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 CIUDADCLIENTES PRODUCTOS VALOR NETO VALOR BRUTO … … … … … …
  • 69.
  • 70.
    Range Sum Count Over800 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
  • 73.
    MES CIUDAD CLIENTESPRODUCTOS 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
  • 75.
    Root Edu Hhd Bus JanMar 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 JanMar 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.
  • 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
  • 83.
    DEMO “Mantenimiento de unAlmacén de Datos”
  • 87.
    DEMO “Un Almacén deDatos en La Nube”
  • 89.
     Almacén dedatos  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)
  • 92.
    Jose Redondo Microsoft SQLServer MVP | CEO EntornoDB | DPA SolidQ redondoj@gmail.com | @redondoj | redondoj.wordpress.com