SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
#SQSummit
Data warehouse
como servicio en
Azure (SQLDW)
Enrique Catalá Bañuls
Mentor
ecatala@solidq.com
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Soluciones data warehousing de MS
Microsoft SQL Server
Entorno escalable SMP y
NUMA en cualquier
hardware
OnPremise y Azure IaaS
Ideal para datamarts
desde pequeños a
“medianos”
Solo software
10s de TB
Microsoft Analytics
Platform System (APS)
Appliance para entornos
datawarehouse de alto
rendimiento MPP
Solo OnPremise
Ideal para alto
rendimiento y alta
escalabilidad de DW
Applicance (SW y HW)
10s de TB – 6 PB (PDW)
24TB – 1.2 PB (Hadoop)
Microsoft Azure SQL Data
Warehouse (SQLDW)
Cloud data warehouse
para entornosd de alto
rendimiento MPP
Solo cloud
Ideal para alto
rendimiento, alta
escalabilidad en cloud
Solución completa PaaS
10s de TB – PBs
¿Qué es SQLDW?
PaaS
Escalable
horizontal
Arquitectura
MPP
Integrado
(SSDT, TSQL)
Hibrido
(Polybase)
Coste
efectivo
Qué es el MPP?
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Cerebro vs Músculo (divide y vencerás)
Control Node (cerebro)
• Acepta requests de usuario
• Interpreta la petición y la escala
• Optimiza la petición
• Orquestra acciones
• Realiza la consolidación final
• Devuelve los resultados
Un único
cerebro
Requiere un motor
relacional distribuido
Compute node (Músculo)
• Realiza computación extrema
• Acepta requests del “cerebro”
• Es un entorno SMP altamente tuneado
• Pensado para peticiones del “cerebro”
• Es el que finalmente accede al dato
Muchos
elementos
“músculo”
No podemos conectar a él
Distribución de datos
Pero muchos
nodos de
procesamiento!
Pequeñas
queries
Divide y
vencerás
Bueno para la
escalabilidad
Introduce sobrecostes
Topología Azure SQL Data Warehouse
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Escalabilidad y DWUs
• DWU = Data Warehouse Unit
• Load rate: records/seg metiendo datos
• Scan rate: records/seg leyendo datos (CPU+IO)
• Escalabilidad lineal
Escalabilidad y DWUs
Escalabilidad y DWUs
Escalabilidad y DWUs
• Concurrent query
• Petición con independencia de si es serie o paralela
• Concurrency slot
• Slot de hilos disponibles (mas slots, mas
paralelismo)
Arquitectura para SQLDW con
DWU100
Arquitectura para SQLDW con
DWU600
Arquitectura para SQLDW en Pausa
Cómo escalar
• Azure Portal Slider
• T-SQL Command
• Powershell cmdlet
• Y esperar unos pocos minutos
Documentación en http://aka.ms/sqldw
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Arquitectura de carga – SSIS ó BCP (1)
Arquitectura de carga – SSIS ó BCP (2)
Arquitectura de carga – SSIS ó BCP (2)
Arquitectura de carga - Polybase
Arquitectura de carga - Polybase
--Import data from
CREATE TABLE Prod_DB.dbo.TargetTable_EXCH
WITH (Distribution=HASH (ColA),
CLUSTERED INDEX (ColB),
PARTITION (ColC) RANGE RIGHT ON VALUES (xxx,
xxx, xxx … ))
AS
SELECT poly.PK_Field, poly.ColA, poly.ColB
…
FROM Prod_DB.dbo.ExternalTable_In_Polybase poly
BCP
bcp {database}.dbo.lineitem_cci in
C:Toolboxdbgenlineitem.tbl -c
-U username
-P password
-S xxxxxxxx.database.windows.net
-q -t"|"
-r n -w
SSIS
Nuevo destino SQL PDW
• SSDT 2012
• SSDT 2014
• SSDT 2015
SQL Server PDW Destination Editor
Rendimiento de carga
BCP
SSIS
Polybase
PolyBase BCP SQLBulkCopy/ADF SSIS
Load Rate
Rate increase as you increase DWU Yes No No No
Rate increase as you add concurrent load No Yes Yes Yes
FASTEST============>>>>>>>>>>SLOWEST
Pero si que se incrementa en
Polybase cuando tenemos muchos
ficheros por carpeta
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Limitaciones (mínimas)
• No se crean automáticamente estadísticas (ni
se mantienen)
• Pensado para cargas con Polybase
• Cuello de botella en nodo de computación
• Las vistas son metadata only
• No schemabinding
• No se pueden actualizar datos de las tablas base
• No hay indexed views
Limitaciones (medianas)
• Tamaño de fila máximo 32k
• Es transaccional pero:
• Solo READ UNCOMMITED
• No hay nested transactions
• No hay distributed transactions
Limitaciones (críticas)
• No se soporta
• Identity, PK, FK, Checks, UNIQUE, computed
columns, sequences, triggers, sparse
• No se soportan todos los tipos de datos
• varchar(max), nvarchar(max),uniqueidentifier
text, image, timestamp,xml,geometry,geography,
hierarchyid, sql_variant, table
NOTA: Todos los tipos de datos tienen workaround, la mayoría
valen con varbinary(8000)
Limitaciones
• Tamaño de una transacción (ojo aquí)
Limitaciones…
• ANSI joins on updates
• ANSI joins on deletes
• merge statement
• cross-database joins
• cursors
• SELECT..INTO
• INSERT..EXEC
• output clause
• inline user-defined functions
• multi-statement functions
• common table expressions
• recursive common table
expressions (CTE)
• CLR functions and procedures
• $partition function
• table variables
• table value parameters
• distributed transactions
• commit / rollback work
• save transaction
• execution contexts (EXECUTE
AS)
• group by clause with rollup /
cube / grouping sets options
• nesting levels beyond 8
• updating through views
• use of select for variable
assignment
• no MAX data type for dynamic
SQL strings
ETL vs ELT
• Extract
• Transform
• Load
ETL SERVER
DATA
WAREHOUSE
SERVER
EXTRACT
TRANSFORM
LOAD
ELT SERVER
DATA
WAREHOUSE
SERVER
EXTRACT
TRANSFORM
LOAD
ELTETL
IN-MEMORY
TRANSFORMS
FEWER CPUS
IN-DB
MORE CPUS
GOOD SORT
Mapeo de datos
Contenido de la sesión
• ¿Qué es SQLDW?
• Topología de SQLDW
• Escalabilidad y DWUs
• Cómo cargar datos en SQLDW
• Limitaciones
• Experiencias en proyectos reales
Fases del Proyecto
• Carga de datos en SQLDW
• Ajustes en modelo
• Patrón para subir de OnPrem a SQLDW
• Marcas de cambios
• Cambio de ETL a ELT (si tenemos solución BI)
• Traducir SSIS a Reports (ya no habrán SSIS)
• Pruebas y mediciones
• 500 y 1000 DTUs como mínimo probarlas
Carga de Datos en SQLDW
• Subir backups a Azure
• Restaurar backups en Azure
• Exportar datos a CSV
• Subir CSVs a Azure Storage
• Cargar CSVs en SQLDW
Patrón para subir OnPrem a SQLDW
• Marcas en tablas origen (timestamp)
• En SQL IaaS Azure (staging)
• Subir datos desde OnPrem (Staging)
• Comparar marcas OnPrem vs SQLDW
• Cargar cambios en SQLDW
Ajustes en Reports
• Convertir los SSIS a Query SQLDW
• Queries complejas
• 24 horas convertir SSIS a query (generalmente)
Pruebas y Mediciones
Operativa Fase MBps Nº hilos Tamaño (GB) Tiempo necesario horas
Subir Backups Carga -
Restaurar Backups Carga 16.00
Generacion CSV Carga 20 1 975 13.88
Subiendo CSV Carga 55 1 975 5.05
Cargando CSV Carga 20 8 304 1.74
Sincronización Sync -
Query Excel Excel 500 DTW 120 secs
Query Excel Excel 1000 DTW 75 secs
Nota. Margen de mejora. Máquinas A6 (4 cores) sin almacenamiento
Premium ni múltiples discos
Estimaciónes para particionado
Bytes_per_row: 250
#_rows: 60,000,000,000
B_to_GB_factor: 1,000,000,000
Distribution_count: 60
Compression_factor: 5 (typical)
Partition_count: 36 (monthly over three years)
Max_rows_per_rowgroup
rows_per_distribution = #_rows / distribution_count
rows_per_partition = rows_per_distribution / partition_count
max_rowgroups_per_partition = partition_count / max_rows_per_rowgroup
Uncompressed_table_size_b = bytes_per_row x # rows
Uncompressed_table_size_gb = Uncompressed_table_size_b / B_to_GB_factor
Uncompressed_table_distribution_size_gb = uncompressed_table_size_gb/distribution_count
Compressed_distribution_size_gb = Uncompressed_table_distribution_size_gb /compression_factor
Compressed_partition_size_gb = Compressed_distribution_size_gb / partition_count
Precios (abril 2016)
Nivel Hora Mensual Conc. Query Conc. Slot
100 DWU 0,66 € 492,00 € 32 4
500 DWU 3,31 € 2.459,00 € 32 20
1000 DWU 6,61 € 4.919,00 € 32 40
1500 DWU 9,92 € 7.378,00 € 32 60
2000 DWU 12,22 € 9.838,00 € 32 80
• Recuerda SIEMPRE pausar la implementación
cuando no la uses
• Puedes seguir subiendo datos si usas Polybase
Lecciones aprendidas en proyectos
reales
1. Diseña tus objetos pensando en distribución
de datos
2. Crea siempre estadísticas tras el CREATE
TABLE
3. Actualiza siempre estadísticas tras una carga
4. Particiona tus objetos
5. Comienza con DTW 300 para hacer
mediciones
Lecciones aprendidas en proyectos
reales
1. Utiliza BIML
2. Carga mediante Polybase
3. Crea tus objetos mediante plantillas T4
4. Utiliza un separador de texto compuesto
“$|x”
5. Tu máquina de desarrollo en Azure
• Subiendo datos ganarás tiempo en cada prueba
Conclusión: ¿Necesito entonces
SQLDW?
• Si el dinero no es problema
• Si ya había estado valorando la opción de APS
• Si no tengo una solución de BI
• O si no quiero invertir más en BI y quiero ir por la
vía del Hierro
• Si tengo tanto dato que es inviable hacerlo
con solución de BI
• Necesito saltarme la fase de transformación y ver
cuanto antes el dato
También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de
analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción
de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas
sean estables. Desde una solución sencilla de monitorización, hasta un
servicio de atención de incidencias 24/7, mantenimiento proactivo,
resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas
importantes.
¡Gracias!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

SQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql serverSQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql server
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Query store
Query storeQuery store
Query store
 
In memory
In memoryIn memory
In memory
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimización
 
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
 
Novedades SQL Azure v12
Novedades SQL Azure v12Novedades SQL Azure v12
Novedades SQL Azure v12
 
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
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
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
 
Performance Tuning en Azure SQL Database
Performance Tuning en Azure SQL DatabasePerformance Tuning en Azure SQL Database
Performance Tuning en Azure SQL Database
 
Aplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas HibridosAplicando Azure Search en Sistemas Hibridos
Aplicando Azure Search en Sistemas Hibridos
 
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...
 
SQL Server Analysis Services
SQL Server Analysis ServicesSQL Server Analysis Services
SQL Server Analysis Services
 
Power BI. Dando el salto a la nube con los pies en el suelo
Power BI. Dando el salto a la nube con los pies en el sueloPower BI. Dando el salto a la nube con los pies en el suelo
Power BI. Dando el salto a la nube con los pies en el suelo
 
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
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 

Andere mochten auch

Estrategia para la Implementación y Administración Inteligente de DataWarehouse
Estrategia para la Implementación y Administración Inteligente de DataWarehouseEstrategia para la Implementación y Administración Inteligente de DataWarehouse
Estrategia para la Implementación y Administración Inteligente de DataWarehouse
Sebastian Rodriguez Robotham
 
Inteligencia de Negocios - FISI - UNMSM - DataWareHouse
Inteligencia de Negocios - FISI - UNMSM - DataWareHouseInteligencia de Negocios - FISI - UNMSM - DataWareHouse
Inteligencia de Negocios - FISI - UNMSM - DataWareHouse
Julio Pari
 
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouse
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouseConstrucción de un DataWareHouse - FISI - UNMSM - DataWareHouse
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouse
Julio Pari
 

Andere mochten auch (10)

Estrategia para la Implementación y Administración Inteligente de DataWarehouse
Estrategia para la Implementación y Administración Inteligente de DataWarehouseEstrategia para la Implementación y Administración Inteligente de DataWarehouse
Estrategia para la Implementación y Administración Inteligente de DataWarehouse
 
Otras novedades SQL Server 2016
Otras novedades SQL Server 2016Otras novedades SQL Server 2016
Otras novedades SQL Server 2016
 
Adaptive BI Framework
Adaptive BI Framework Adaptive BI Framework
Adaptive BI Framework
 
Inteligencia de Negocios - FISI - UNMSM - DataWareHouse
Inteligencia de Negocios - FISI - UNMSM - DataWareHouseInteligencia de Negocios - FISI - UNMSM - DataWareHouse
Inteligencia de Negocios - FISI - UNMSM - DataWareHouse
 
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouse
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouseConstrucción de un DataWareHouse - FISI - UNMSM - DataWareHouse
Construcción de un DataWareHouse - FISI - UNMSM - DataWareHouse
 
DATAWAREHOUSE
DATAWAREHOUSEDATAWAREHOUSE
DATAWAREHOUSE
 
Introducción a DataWarehouse e Inteligencia de Negocios
Introducción a DataWarehouse e Inteligencia de NegociosIntroducción a DataWarehouse e Inteligencia de Negocios
Introducción a DataWarehouse e Inteligencia de Negocios
 
Open up to a better learning ecosystem
Open up to a better learning ecosystemOpen up to a better learning ecosystem
Open up to a better learning ecosystem
 
ETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft AzureETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft Azure
 
Datawarehouse
DatawarehouseDatawarehouse
Datawarehouse
 

Ähnlich wie Datawarehouse como servicio en Azure (sqldw)

Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAPNovedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Joseph Lopez
 

Ähnlich wie Datawarehouse como servicio en Azure (sqldw) (20)

Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
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
 
Sql azure data warehouse gab jorge muchaypina
Sql azure data warehouse gab   jorge muchaypinaSql azure data warehouse gab   jorge muchaypina
Sql azure data warehouse gab jorge muchaypina
 
SQL Azure Datawarehouse
SQL Azure DatawarehouseSQL Azure Datawarehouse
SQL Azure Datawarehouse
 
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...
 
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
 
Casos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerCasos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL Server
 
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAPNovedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
Novedades de MS SQL Server 2012 para ambientes tecnológicos OLTP y OLAP
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
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 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
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 
Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 

Mehr von SolidQ

Mehr von SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Kürzlich hochgeladen

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

Kürzlich hochgeladen (14)

Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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...
 
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.
 
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
 
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
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
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
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
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
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 

Datawarehouse como servicio en Azure (sqldw)

  • 1. #SQSummit Data warehouse como servicio en Azure (SQLDW) Enrique Catalá Bañuls Mentor ecatala@solidq.com
  • 2. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 3. Soluciones data warehousing de MS Microsoft SQL Server Entorno escalable SMP y NUMA en cualquier hardware OnPremise y Azure IaaS Ideal para datamarts desde pequeños a “medianos” Solo software 10s de TB Microsoft Analytics Platform System (APS) Appliance para entornos datawarehouse de alto rendimiento MPP Solo OnPremise Ideal para alto rendimiento y alta escalabilidad de DW Applicance (SW y HW) 10s de TB – 6 PB (PDW) 24TB – 1.2 PB (Hadoop) Microsoft Azure SQL Data Warehouse (SQLDW) Cloud data warehouse para entornosd de alto rendimiento MPP Solo cloud Ideal para alto rendimiento, alta escalabilidad en cloud Solución completa PaaS 10s de TB – PBs
  • 5. Qué es el MPP?
  • 6. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 7. Cerebro vs Músculo (divide y vencerás)
  • 8. Control Node (cerebro) • Acepta requests de usuario • Interpreta la petición y la escala • Optimiza la petición • Orquestra acciones • Realiza la consolidación final • Devuelve los resultados Un único cerebro Requiere un motor relacional distribuido
  • 9. Compute node (Músculo) • Realiza computación extrema • Acepta requests del “cerebro” • Es un entorno SMP altamente tuneado • Pensado para peticiones del “cerebro” • Es el que finalmente accede al dato Muchos elementos “músculo” No podemos conectar a él
  • 10. Distribución de datos Pero muchos nodos de procesamiento! Pequeñas queries Divide y vencerás Bueno para la escalabilidad Introduce sobrecostes
  • 11. Topología Azure SQL Data Warehouse
  • 12. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 13. Escalabilidad y DWUs • DWU = Data Warehouse Unit • Load rate: records/seg metiendo datos • Scan rate: records/seg leyendo datos (CPU+IO) • Escalabilidad lineal
  • 16. Escalabilidad y DWUs • Concurrent query • Petición con independencia de si es serie o paralela • Concurrency slot • Slot de hilos disponibles (mas slots, mas paralelismo)
  • 20. Cómo escalar • Azure Portal Slider • T-SQL Command • Powershell cmdlet • Y esperar unos pocos minutos Documentación en http://aka.ms/sqldw
  • 21. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 22. Arquitectura de carga – SSIS ó BCP (1)
  • 23. Arquitectura de carga – SSIS ó BCP (2)
  • 24. Arquitectura de carga – SSIS ó BCP (2)
  • 25. Arquitectura de carga - Polybase
  • 26. Arquitectura de carga - Polybase --Import data from CREATE TABLE Prod_DB.dbo.TargetTable_EXCH WITH (Distribution=HASH (ColA), CLUSTERED INDEX (ColB), PARTITION (ColC) RANGE RIGHT ON VALUES (xxx, xxx, xxx … )) AS SELECT poly.PK_Field, poly.ColA, poly.ColB … FROM Prod_DB.dbo.ExternalTable_In_Polybase poly
  • 27. BCP bcp {database}.dbo.lineitem_cci in C:Toolboxdbgenlineitem.tbl -c -U username -P password -S xxxxxxxx.database.windows.net -q -t"|" -r n -w
  • 28. SSIS Nuevo destino SQL PDW • SSDT 2012 • SSDT 2014 • SSDT 2015
  • 29. SQL Server PDW Destination Editor
  • 30. Rendimiento de carga BCP SSIS Polybase PolyBase BCP SQLBulkCopy/ADF SSIS Load Rate Rate increase as you increase DWU Yes No No No Rate increase as you add concurrent load No Yes Yes Yes FASTEST============>>>>>>>>>>SLOWEST Pero si que se incrementa en Polybase cuando tenemos muchos ficheros por carpeta
  • 31. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 32. Limitaciones (mínimas) • No se crean automáticamente estadísticas (ni se mantienen) • Pensado para cargas con Polybase • Cuello de botella en nodo de computación • Las vistas son metadata only • No schemabinding • No se pueden actualizar datos de las tablas base • No hay indexed views
  • 33. Limitaciones (medianas) • Tamaño de fila máximo 32k • Es transaccional pero: • Solo READ UNCOMMITED • No hay nested transactions • No hay distributed transactions
  • 34. Limitaciones (críticas) • No se soporta • Identity, PK, FK, Checks, UNIQUE, computed columns, sequences, triggers, sparse • No se soportan todos los tipos de datos • varchar(max), nvarchar(max),uniqueidentifier text, image, timestamp,xml,geometry,geography, hierarchyid, sql_variant, table NOTA: Todos los tipos de datos tienen workaround, la mayoría valen con varbinary(8000)
  • 35. Limitaciones • Tamaño de una transacción (ojo aquí)
  • 36. Limitaciones… • ANSI joins on updates • ANSI joins on deletes • merge statement • cross-database joins • cursors • SELECT..INTO • INSERT..EXEC • output clause • inline user-defined functions • multi-statement functions • common table expressions • recursive common table expressions (CTE) • CLR functions and procedures • $partition function • table variables • table value parameters • distributed transactions • commit / rollback work • save transaction • execution contexts (EXECUTE AS) • group by clause with rollup / cube / grouping sets options • nesting levels beyond 8 • updating through views • use of select for variable assignment • no MAX data type for dynamic SQL strings
  • 37. ETL vs ELT • Extract • Transform • Load ETL SERVER DATA WAREHOUSE SERVER EXTRACT TRANSFORM LOAD ELT SERVER DATA WAREHOUSE SERVER EXTRACT TRANSFORM LOAD ELTETL IN-MEMORY TRANSFORMS FEWER CPUS IN-DB MORE CPUS GOOD SORT
  • 39. Contenido de la sesión • ¿Qué es SQLDW? • Topología de SQLDW • Escalabilidad y DWUs • Cómo cargar datos en SQLDW • Limitaciones • Experiencias en proyectos reales
  • 40. Fases del Proyecto • Carga de datos en SQLDW • Ajustes en modelo • Patrón para subir de OnPrem a SQLDW • Marcas de cambios • Cambio de ETL a ELT (si tenemos solución BI) • Traducir SSIS a Reports (ya no habrán SSIS) • Pruebas y mediciones • 500 y 1000 DTUs como mínimo probarlas
  • 41. Carga de Datos en SQLDW • Subir backups a Azure • Restaurar backups en Azure • Exportar datos a CSV • Subir CSVs a Azure Storage • Cargar CSVs en SQLDW
  • 42. Patrón para subir OnPrem a SQLDW • Marcas en tablas origen (timestamp) • En SQL IaaS Azure (staging) • Subir datos desde OnPrem (Staging) • Comparar marcas OnPrem vs SQLDW • Cargar cambios en SQLDW
  • 43. Ajustes en Reports • Convertir los SSIS a Query SQLDW • Queries complejas • 24 horas convertir SSIS a query (generalmente)
  • 44. Pruebas y Mediciones Operativa Fase MBps Nº hilos Tamaño (GB) Tiempo necesario horas Subir Backups Carga - Restaurar Backups Carga 16.00 Generacion CSV Carga 20 1 975 13.88 Subiendo CSV Carga 55 1 975 5.05 Cargando CSV Carga 20 8 304 1.74 Sincronización Sync - Query Excel Excel 500 DTW 120 secs Query Excel Excel 1000 DTW 75 secs Nota. Margen de mejora. Máquinas A6 (4 cores) sin almacenamiento Premium ni múltiples discos
  • 45. Estimaciónes para particionado Bytes_per_row: 250 #_rows: 60,000,000,000 B_to_GB_factor: 1,000,000,000 Distribution_count: 60 Compression_factor: 5 (typical) Partition_count: 36 (monthly over three years) Max_rows_per_rowgroup rows_per_distribution = #_rows / distribution_count rows_per_partition = rows_per_distribution / partition_count max_rowgroups_per_partition = partition_count / max_rows_per_rowgroup Uncompressed_table_size_b = bytes_per_row x # rows Uncompressed_table_size_gb = Uncompressed_table_size_b / B_to_GB_factor Uncompressed_table_distribution_size_gb = uncompressed_table_size_gb/distribution_count Compressed_distribution_size_gb = Uncompressed_table_distribution_size_gb /compression_factor Compressed_partition_size_gb = Compressed_distribution_size_gb / partition_count
  • 46. Precios (abril 2016) Nivel Hora Mensual Conc. Query Conc. Slot 100 DWU 0,66 € 492,00 € 32 4 500 DWU 3,31 € 2.459,00 € 32 20 1000 DWU 6,61 € 4.919,00 € 32 40 1500 DWU 9,92 € 7.378,00 € 32 60 2000 DWU 12,22 € 9.838,00 € 32 80 • Recuerda SIEMPRE pausar la implementación cuando no la uses • Puedes seguir subiendo datos si usas Polybase
  • 47. Lecciones aprendidas en proyectos reales 1. Diseña tus objetos pensando en distribución de datos 2. Crea siempre estadísticas tras el CREATE TABLE 3. Actualiza siempre estadísticas tras una carga 4. Particiona tus objetos 5. Comienza con DTW 300 para hacer mediciones
  • 48. Lecciones aprendidas en proyectos reales 1. Utiliza BIML 2. Carga mediante Polybase 3. Crea tus objetos mediante plantillas T4 4. Utiliza un separador de texto compuesto “$|x” 5. Tu máquina de desarrollo en Azure • Subiendo datos ganarás tiempo en cada prueba
  • 49. Conclusión: ¿Necesito entonces SQLDW? • Si el dinero no es problema • Si ya había estado valorando la opción de APS • Si no tengo una solución de BI • O si no quiero invertir más en BI y quiero ir por la vía del Hierro • Si tengo tanto dato que es inviable hacerlo con solución de BI • Necesito saltarme la fase de transformación y ver cuanto antes el dato
  • 50. También puedes preguntar tus dudas con el hashtag #SQSummit en Twitter ADAPTIVE BI FRAMEWORK Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia: •Diseña antes de construir •Automatización de procesos por ETL •Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio •Muy fácil de mantener SOLIDQ FLEX SERVICES Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte. Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes. ¡Gracias!