SQL Data Warehouse, casos de uso, escalabilidad, cargas de datos Adrian Miranda Cordero SQL Data Warehouse, casos de uso, escalabilidad, cargas de datos
Agradecimiento a los patrocinadores Premium Silver Personal
Speaker Administrador de base de datos Profesor Universitario y de Cursos Oficiales MOC Conferencista en eventos SQL Saturday - Latinoamerica Youtube: www.youtube.com/BILatam Facebook: facebook.com/CloudLatam Twtter: @JMCJOSEAD Linkedin: https://cr.linkedin.com/in/admiranda Blog: www.medium.com/@adrianmc Correo: amiranda@nemesyscr.com
Agenda SQL Data Warehouse Inicios Demo : Provisionamiento Diseño de tablas / Demo Cargas de Datos / Integración con Polybase / Demo Consideraciones de Administración Protección de los datos
Inicios
Data Warehouse tradicional CRM Data Warehouse Visualización Data sources ETL Una única fuente de datos en un único repositorio de datos con todos los datos de una compañía. ERP LOB Con esto no estamos diciendo que el enfoque esté mal, para nada, siempre va a ser un gran enfoque, pero nos tenemos que poner a pensar en la siguiente pregunta. Qué necesito para tener una solución de BI On-Premise? OLTP
Tomemos en consideración la cantidad de datos con que se cuenta hoy en día. La variedad de datos que tenemos con que contamos, que no son solo los datos estructurados si no también los datos no estructurados.
SQL DW
SQL DW Si usted está pensando en Sistemas OLTP Frecuentes lecturas / escrituras Multiples Select (Ejecutados secuencialmente) Procesamiento fila por fila Recordar mencionar la problemática actual con el tema del manejo de datos y análisis en tiempo real en sistemas transaccionales.
SQL DW - MPP Lo que trabajamos hoy en día. Compartimos recursos SMP – Symmetric Multiprocessing Lo que trabajamos hoy en día. Compartimos recursos CPU Memoria Disco MPP – Massively Parallel Processing Concepto de “Share nothing” SQL DW funciona de la siguente manera, existe un cerebro y está el músculo, o sea los que completan el trabajo. SQL DW viene siendo el cerebro y AZURE SQL Database viene siendo el musculo que hace el trabajo. Cada servidor controla sus recursos y opera de forma separada
Con qué está relacionado? SQL DW - DWU Con qué está relacionado? Recursos como Memoria CPU IOPS Medición de Métricas Scan / Agregation, Cargas, CTAS Pueden ser cargadas en tiempo real (*)
A cada tabla se le asignan 60 buckets
Ejemplo DWU 100 60 Buckets (Blob Storage) 1-Engine Role 1 2 3 4 5 6 7 1- Worker Nodes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Ejemplo DWU 300 60 Buckets (Blob Storage) 1-Engine Role 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Worker Node
DEMO
Diseño de Tablas
Diseño de Tablas Hash Round Robin Inserta basado en el valor de una columna que sirve como elemento diferenciador. Se pueden utilizar para Fact tables. Se pueden usar para Summarized tables. Importante, los puntos anteriores son válidos si y solo sí cuentan con una columna que permita agrupar valores en común. Si un Full Scan no tiene un buen rendimiento. Inserta de manera aleatoria. Joins entre tablas que tienen que ir de PK a FK. Ejem: Dimensiones. Si necesitan hacer cargas de muchos datos en un área Stage, sería la mejor configuración. A cada tabla se le asignan 60 buckets
Consideraciones para el diseño de tablas Tablas se crean con Page Compression de forma predeterminada. Round Robin también es el valor predeterminado en la opción de distribución de datos. No hay limite de filas, es determinado por el storage. 1024 columnas por tabla 2 billones de tablas por base de datos Distribución = Round Robin Mencionar que no se soporta Identity, tampoco se soporta PK y FK ni tipos de datos como XML, SQL_Variant, Text, CLR
DEMO
Preguntas?