SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
REL-318
SQL11 Denali: Escalabilidad y
rendimiento
Enrique Catalá Bañuls
Mentor – Área relacional
MCT – MCTS – MCITP – MAP 2010
ecatala@solidq.com
Escalabilidad y rendimiento
Objetivos de la sesión
Agenda

α   Escalabilidad
α   Columnar storage
α   Agregados con ventana deslizante
α   Paginación eficiente
α   Secuencias
α   Mejoras en iFTS
α   Optimización en tipos de datos espaciales
AlwaysOn
Visto en la sesión: REL-316: Denali: Alta Disponibilidad
α Solución sencilla con poco mantenimiento y eficiente
α Clustering
  β   Redirección de clientes automática
  β   Política de failover flexible
α Mirroring
  β   Failover de grupos de bases de datos
  β   Síncrono/asíncrono
  β   Compresión y encriptación
  β   Réplicas de solo lectura  Snapshot transparente
  β   Reparación de páginas automática
α Log Shipping
  β   Múltiples secundarios: 4 secundarios, 2 síncronos, 1 failover
      automático
Columnar indexes
α Tipo de índice nonclustered nuevo
    β    En un futuro podrá ser tambien tipo clustered…veremos si para
         versión RTM
α Rendimientos de más de 100x y compresion entre 4x y 15x
α Optimización de consultas modelo estrella
α Surgen para escenarios tipo PDW donde se procesan
        cientos de Tb en menos de un segundo
α       Basado en la tecnologia patentada Vertipaq que utilizan
        Analisys Services y PowerPivot
Columnar indexes
α Altamente
        comprimible
α       Procesa las
        columnas en
        bloques
α       Buffer hit ratio
        mejorado Solo las
        columnas necesarios
        se leen
    β    Almacenamiento Puro
α Por ahora son el
        almacenamiento
        secundario
    β    En un futuro serán el
         almacenamiento
         primario de
         información
Columnstore index
Columnstore indexes
α No se soporta actualización por ahora
α Para modificar datos se recomienda:
    β    Crear tabla particionada con columnstore index alineado
    β    Deshabilitar columnstore
    β    Mover datos a la nueva tabla con una operación SWITCH
    β    Rebuild el índice
α Basan su beneficio en evitar leer de disco al optimizar la
        RAM mediante compresión y evitar leer información
        indeseada
α       Equipos más asequibles producen rendimientos en
        entornos BI realmente espectaculares.
    β    Se puede pensar en soluciones ROLAP eliminando la necesidad de
         ETL con agregados pre-cargados
Calculos sobre conjuntos
α Calculos aplicados a conjuntos de filas
α Resolución de problemas
 β   Cursores
 β   Consultas agrupadas
 β   Subconsultas
 β   Joins
α Retos
 β   Pensar en modo conjunto
 β   Mezclar cálculos de agrupado y el nivel detalle
 β   Complejidad
 β   Rendimiento
Piensa en conjuntos
α No te desvies de la realidad, SQL Server es un motor
  relacional basado en conjuntos
α ¿Entiendes realmente lo que significa conjunto?
  Definición teórica por Georg Cantor:
  1. Un conjunto es una reunión de objetos que cumplen con cierta
     propiedad (llamados los elementos de ese conjunto) y que, por tanto,
     queda definido por tal propiedad.
  2. Un conjunto es una sola entidad matemática, de modo que puede a su
     vez ser contenido por otro conjunto
  3. Dos conjuntos que tengan los mismos elementos son iguales, luego un
     conjunto queda determinado por sus elementos


  En definitiva, una reunión de objetos sin ningún orden y con una propiedad
  común
Mezcla de detalle y cálculos
de conjuntos
α Las consultas agrupadas
   imponen condiciones
Piensa en conjuntos
α Subconsultas
 β   Demasiada información
 β   Cuidado con el orden
     de evaluación
 β   Cada consulta necesita
     su resolución
     independiente
Piensa en conjuntos
Complejidad
α El pensamiento tradicional produce consultas muy
   complejas
Piensa en conjuntos
Rendimiento
α Consultas de complejidad cuadrática
Novedad Denali
Nuevas construcciones basadas en conjuntos




                                             α Particionamos
                                             α Ordenamos
                                             α Deslizamos
Cambia tu mente
Piensa mas profundamente para dar con la clave
α Pensar en una asignación numérica aislada e
   independiente es erróneo aunque se obtenga el resultado
   deseado 

α Conceptualmente, una ventana deslizante existe
   simultáneamente respecto a cada fila. Debes preparar tu
   mente para empezar a dar soluciones eficaces
Abre tu mente 
Nuevas funciones de agregado

α Agregados con ventana deslizante (Framing)
 β   Hasta Denali, solo agregados con particionado
α Offset
 β   LAG, LEAD,FIRST_VALUE, LAST_VALUE
α Distribución
 β   PERCENT_RANK,PERCENTILE_CONT, PERCENTILE_DIST,…
PAGINACION
¿Por qué paginar?
α “ASYNC_NETWORK_IO”: “Occurs on network writes when the task
    is blocked behind the network. Verify that the client is processing
    data from the server.”
α   “PAGEIOLATCH_SH: “Occurs when a task is waiting on a latch for
    a buffer that is in an I/O request. The latch request is in Shared
    mode. Long waits may indicate problems with the disk
    subsystem.”
PAGINACION
Antes de SQL11
α Con SQL Server 2005 aparecieron las funciones de Ranking
 β   Pudimos empezar a dar solución al problema de la paginación, con
     algo de imaginación, eso si
Paginación en Denali
Cláusulas OFFSET/FETCH
α   Sintaxis ANSI que puede servir a fines idénticos a TOP(n)
α   Muchisima mas potente
α   Filtro aplicado sobre la cláusula ORDER BY
α   OFFSET indica cuantas filas hay que saltarse
α   FETCH indica cuantas filas se deben devolver tras el OFFSET




α *Por ahora, mismo plan de ejecución
Paginación
Cláusula OFFSET/FETCH
α Clara y concisa
Paginación 10 mins
Secuencias
Introduccion
α Una secuencia es un objeto usado para autogenerar
    números basados en criterios flexibles
α   Es la evolución de IDENTITY
α   Muy flexible y con posibilidad de optimizar su rendimiento
α   Solo se soporta nombre de dos partes
α   La equivalencia lógica con IDENTITY
Secuencias
¿Por qué?
α Sirven para crear valores de clave en inserciones
 β   Permiten incluso almacenar dicho valor en variable
α NEXT VALUE FOR
 β   Función para obtener el siguiente valor de la secuencia
α Sp_sequence_get_range
 β   Obtiene un rango de valores de secuencia que mas tarde podremos
     utilizar
Secuencias
Vs Identity

                   Option                               Identity         Sequences

  Obtain value before use              No                          Yes

  Table-Independent                    No                          Yes

  Use in UPDATE                        No                          Yes

  Used in SELECT                       No                          Yes

  Control order                        Not in SELECT INTO          Yes
                                       Yes in INSERT SELECT


  Effected by rollback                 No                          No

  Can associate/disassociate with an   No                          Yes
  existing column


  Can define minimum and maximum       No                          Yes
  values


  Can cycle                            No                          Yes

  Can change increment                 No                          Yes

  Supports defining caching            No                          Yes

  Obtain range of values               No                          Yes
Secuencias
Rendimiento contra identity
α Se utiliza por defecto
        caché de 50
        elementos
    β    Identity utiliza cacheo
         de 10
α Se puede modificar el
        cacheo e incluso
        deshabilitar
α       Cuanto más caching,
        mas rendimiento
    β    No linear
α Posibilidad de huecos
        ante caidas
Secuencias
Rendimiento contra Identity (II)
α Se puede obtener un aumento muy alto utilizando
    sp_sequence_get_range
Secuencias
Full Text Search
Mejoras en iFTS
α Se puede utilizar IFilters como propiedades extendidas
  para hacer búsquedas en FTS
α Ahora por tanto, se puede buscar en las propiedades que
  exponen de forma óptima
 α Esto unido al
      FILETABLE
      storage…no os da
      la impresión de
      que WinFS está
      dando tufillo? :)

create fulltext index on
db_X.svceventinfo(file_stream)
Full Text Search
Motor
α Mejoras del motor entre 7-10x frente a SQL 2008 (Según
        internals de MS)
    β    Comparado con SQL 2005 más de 60x
α En el peor de los casos, tiempos de respuesta iFTS de
        <3ms
α       Hasta 350M de documentos por almacenamiento
α       Incremento de respuesta linear con el nº de CPU
Spatial
Mejoras en indexación
α Ahora hasta 8 Niveles por defecto
 β   Antes 4
 β   Hasta 256 niveles (antes 32)
α GEOGRAPHY_AUTO_GRID y GEOMETRI_AUTO_GRID
α Soporte para objetos curvilíneos
 β   CircularString
 β   CompoundCurve
 β   CurvePolygon
α Nuevos métodos adaptados
 β   STCurveToLine()
 β   BufferWithCurves()
 β   …
α Mayor Precisión
Spatial
Más novedades
α Para mayor precisión, cláusula
  SPATIAL_WINDOW_MAX_CELL con posibilidad de llegar a
  2048 celdas
α La mayoría de operadores y métodos se han optimizado
α Ya es posible realizar agregaciones
 β   UnionAggregate
 β   EnvelopeAggregate
 β   CollectionAggregate
 β   ConvexHullAggregate
          SELECT GEOGRAPHY::UnionAggregate(geog) FROM Regions

α Ya es posible superar el valor de hemisferio lógico
Objetivos de la sesión
Agenda

α   Escalabilidad
α   Columnar storage
α   Agregados con ventana deslizante
α   Paginación eficiente
α   Secuencias
α   Mejoras en iFTS
α   Optimización en tipos de datos espaciales
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
             ésta es tu oportunidad.

      http://summit.solidq.com/madrid/

Más contenido relacionado

Destacado

How will EMV Affect Me, & What Should I do, Michigan Parking Association
How will EMV Affect Me, & What Should I do, Michigan Parking AssociationHow will EMV Affect Me, & What Should I do, Michigan Parking Association
How will EMV Affect Me, & What Should I do, Michigan Parking Association
Andrew Vidor
 
Webprendedor 2009 Escalabilidad
Webprendedor 2009 EscalabilidadWebprendedor 2009 Escalabilidad
Webprendedor 2009 Escalabilidad
edavism
 
Valle de la Orotava,una oportunidad para innovar
Valle de la Orotava,una oportunidad para innovarValle de la Orotava,una oportunidad para innovar
Valle de la Orotava,una oportunidad para innovar
Programa TF Innova
 
Exploration lan switching_capítulo5
Exploration lan switching_capítulo5Exploration lan switching_capítulo5
Exploration lan switching_capítulo5
Vitor Albuquerque
 
Presentacion introduccion ibm file net p8 v10
Presentacion introduccion ibm file net p8 v10Presentacion introduccion ibm file net p8 v10
Presentacion introduccion ibm file net p8 v10
Javier Laguens Garcia
 
Conceitos e configurações do ether channel
Conceitos e configurações do ether channelConceitos e configurações do ether channel
Conceitos e configurações do ether channel
Vitor Albuquerque
 

Destacado (11)

How will EMV Affect Me, & What Should I do, Michigan Parking Association
How will EMV Affect Me, & What Should I do, Michigan Parking AssociationHow will EMV Affect Me, & What Should I do, Michigan Parking Association
How will EMV Affect Me, & What Should I do, Michigan Parking Association
 
Arquitectura y escalabilidad básica para entornos cloud
Arquitectura y escalabilidad básica para entornos cloudArquitectura y escalabilidad básica para entornos cloud
Arquitectura y escalabilidad básica para entornos cloud
 
Webprendedor 2009 Escalabilidad
Webprendedor 2009 EscalabilidadWebprendedor 2009 Escalabilidad
Webprendedor 2009 Escalabilidad
 
Emv and fraud
Emv and fraudEmv and fraud
Emv and fraud
 
Siemens Industria
Siemens IndustriaSiemens Industria
Siemens Industria
 
Valle de la Orotava,una oportunidad para innovar
Valle de la Orotava,una oportunidad para innovarValle de la Orotava,una oportunidad para innovar
Valle de la Orotava,una oportunidad para innovar
 
Exploration lan switching_capítulo5
Exploration lan switching_capítulo5Exploration lan switching_capítulo5
Exploration lan switching_capítulo5
 
Las megatendencias que transforman el mundo
Las megatendencias que transforman el mundoLas megatendencias que transforman el mundo
Las megatendencias que transforman el mundo
 
Presentacion introduccion ibm file net p8 v10
Presentacion introduccion ibm file net p8 v10Presentacion introduccion ibm file net p8 v10
Presentacion introduccion ibm file net p8 v10
 
Análisis estratégico de Nokia
Análisis estratégico de NokiaAnálisis estratégico de Nokia
Análisis estratégico de Nokia
 
Conceitos e configurações do ether channel
Conceitos e configurações do ether channelConceitos e configurações do ether channel
Conceitos e configurações do ether channel
 

Similar a DENALI: Escalabilidad y Rendimiento

Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
UTN
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
josecuartas
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
JOSE AHIAS LOPEZ PORTILLO
 

Similar a DENALI: Escalabilidad y Rendimiento (20)

Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
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
 
DENALI: Disponibilidad
DENALI: Disponibilidad DENALI: Disponibilidad
DENALI: Disponibilidad
 
FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache Cassandra
 
Bases de Datos Analiticas-Columnares
Bases de Datos Analiticas-ColumnaresBases de Datos Analiticas-Columnares
Bases de Datos Analiticas-Columnares
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANA
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA
 
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
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Azure DataFactory
Azure DataFactoryAzure DataFactory
Azure DataFactory
 
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
 
04 presentacion acosta_claudio
04 presentacion acosta_claudio04 presentacion acosta_claudio
04 presentacion acosta_claudio
 

Más de SolidQ

Más de 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
 
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...
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017
 

Último

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 

DENALI: Escalabilidad y Rendimiento

  • 1. REL-318 SQL11 Denali: Escalabilidad y rendimiento Enrique Catalá Bañuls Mentor – Área relacional MCT – MCTS – MCITP – MAP 2010 ecatala@solidq.com
  • 3. Objetivos de la sesión Agenda α Escalabilidad α Columnar storage α Agregados con ventana deslizante α Paginación eficiente α Secuencias α Mejoras en iFTS α Optimización en tipos de datos espaciales
  • 4. AlwaysOn Visto en la sesión: REL-316: Denali: Alta Disponibilidad α Solución sencilla con poco mantenimiento y eficiente α Clustering β Redirección de clientes automática β Política de failover flexible α Mirroring β Failover de grupos de bases de datos β Síncrono/asíncrono β Compresión y encriptación β Réplicas de solo lectura  Snapshot transparente β Reparación de páginas automática α Log Shipping β Múltiples secundarios: 4 secundarios, 2 síncronos, 1 failover automático
  • 5. Columnar indexes α Tipo de índice nonclustered nuevo β En un futuro podrá ser tambien tipo clustered…veremos si para versión RTM α Rendimientos de más de 100x y compresion entre 4x y 15x α Optimización de consultas modelo estrella α Surgen para escenarios tipo PDW donde se procesan cientos de Tb en menos de un segundo α Basado en la tecnologia patentada Vertipaq que utilizan Analisys Services y PowerPivot
  • 6. Columnar indexes α Altamente comprimible α Procesa las columnas en bloques α Buffer hit ratio mejorado Solo las columnas necesarios se leen β Almacenamiento Puro α Por ahora son el almacenamiento secundario β En un futuro serán el almacenamiento primario de información
  • 8. Columnstore indexes α No se soporta actualización por ahora α Para modificar datos se recomienda: β Crear tabla particionada con columnstore index alineado β Deshabilitar columnstore β Mover datos a la nueva tabla con una operación SWITCH β Rebuild el índice α Basan su beneficio en evitar leer de disco al optimizar la RAM mediante compresión y evitar leer información indeseada α Equipos más asequibles producen rendimientos en entornos BI realmente espectaculares. β Se puede pensar en soluciones ROLAP eliminando la necesidad de ETL con agregados pre-cargados
  • 9. Calculos sobre conjuntos α Calculos aplicados a conjuntos de filas α Resolución de problemas β Cursores β Consultas agrupadas β Subconsultas β Joins α Retos β Pensar en modo conjunto β Mezclar cálculos de agrupado y el nivel detalle β Complejidad β Rendimiento
  • 10. Piensa en conjuntos α No te desvies de la realidad, SQL Server es un motor relacional basado en conjuntos α ¿Entiendes realmente lo que significa conjunto? Definición teórica por Georg Cantor: 1. Un conjunto es una reunión de objetos que cumplen con cierta propiedad (llamados los elementos de ese conjunto) y que, por tanto, queda definido por tal propiedad. 2. Un conjunto es una sola entidad matemática, de modo que puede a su vez ser contenido por otro conjunto 3. Dos conjuntos que tengan los mismos elementos son iguales, luego un conjunto queda determinado por sus elementos En definitiva, una reunión de objetos sin ningún orden y con una propiedad común
  • 11. Mezcla de detalle y cálculos de conjuntos α Las consultas agrupadas imponen condiciones
  • 12. Piensa en conjuntos α Subconsultas β Demasiada información β Cuidado con el orden de evaluación β Cada consulta necesita su resolución independiente
  • 13. Piensa en conjuntos Complejidad α El pensamiento tradicional produce consultas muy complejas
  • 14. Piensa en conjuntos Rendimiento α Consultas de complejidad cuadrática
  • 15. Novedad Denali Nuevas construcciones basadas en conjuntos α Particionamos α Ordenamos α Deslizamos
  • 16. Cambia tu mente Piensa mas profundamente para dar con la clave α Pensar en una asignación numérica aislada e independiente es erróneo aunque se obtenga el resultado deseado  α Conceptualmente, una ventana deslizante existe simultáneamente respecto a cada fila. Debes preparar tu mente para empezar a dar soluciones eficaces
  • 18. Nuevas funciones de agregado α Agregados con ventana deslizante (Framing) β Hasta Denali, solo agregados con particionado α Offset β LAG, LEAD,FIRST_VALUE, LAST_VALUE α Distribución β PERCENT_RANK,PERCENTILE_CONT, PERCENTILE_DIST,…
  • 19. PAGINACION ¿Por qué paginar? α “ASYNC_NETWORK_IO”: “Occurs on network writes when the task is blocked behind the network. Verify that the client is processing data from the server.” α “PAGEIOLATCH_SH: “Occurs when a task is waiting on a latch for a buffer that is in an I/O request. The latch request is in Shared mode. Long waits may indicate problems with the disk subsystem.”
  • 20. PAGINACION Antes de SQL11 α Con SQL Server 2005 aparecieron las funciones de Ranking β Pudimos empezar a dar solución al problema de la paginación, con algo de imaginación, eso si
  • 21. Paginación en Denali Cláusulas OFFSET/FETCH α Sintaxis ANSI que puede servir a fines idénticos a TOP(n) α Muchisima mas potente α Filtro aplicado sobre la cláusula ORDER BY α OFFSET indica cuantas filas hay que saltarse α FETCH indica cuantas filas se deben devolver tras el OFFSET α *Por ahora, mismo plan de ejecución
  • 24. Secuencias Introduccion α Una secuencia es un objeto usado para autogenerar números basados en criterios flexibles α Es la evolución de IDENTITY α Muy flexible y con posibilidad de optimizar su rendimiento α Solo se soporta nombre de dos partes α La equivalencia lógica con IDENTITY
  • 25. Secuencias ¿Por qué? α Sirven para crear valores de clave en inserciones β Permiten incluso almacenar dicho valor en variable α NEXT VALUE FOR β Función para obtener el siguiente valor de la secuencia α Sp_sequence_get_range β Obtiene un rango de valores de secuencia que mas tarde podremos utilizar
  • 26. Secuencias Vs Identity Option Identity Sequences Obtain value before use No Yes Table-Independent No Yes Use in UPDATE No Yes Used in SELECT No Yes Control order Not in SELECT INTO Yes Yes in INSERT SELECT Effected by rollback No No Can associate/disassociate with an No Yes existing column Can define minimum and maximum No Yes values Can cycle No Yes Can change increment No Yes Supports defining caching No Yes Obtain range of values No Yes
  • 27. Secuencias Rendimiento contra identity α Se utiliza por defecto caché de 50 elementos β Identity utiliza cacheo de 10 α Se puede modificar el cacheo e incluso deshabilitar α Cuanto más caching, mas rendimiento β No linear α Posibilidad de huecos ante caidas
  • 28. Secuencias Rendimiento contra Identity (II) α Se puede obtener un aumento muy alto utilizando sp_sequence_get_range
  • 30. Full Text Search Mejoras en iFTS α Se puede utilizar IFilters como propiedades extendidas para hacer búsquedas en FTS α Ahora por tanto, se puede buscar en las propiedades que exponen de forma óptima α Esto unido al FILETABLE storage…no os da la impresión de que WinFS está dando tufillo? :) create fulltext index on db_X.svceventinfo(file_stream)
  • 31. Full Text Search Motor α Mejoras del motor entre 7-10x frente a SQL 2008 (Según internals de MS) β Comparado con SQL 2005 más de 60x α En el peor de los casos, tiempos de respuesta iFTS de <3ms α Hasta 350M de documentos por almacenamiento α Incremento de respuesta linear con el nº de CPU
  • 32. Spatial Mejoras en indexación α Ahora hasta 8 Niveles por defecto β Antes 4 β Hasta 256 niveles (antes 32) α GEOGRAPHY_AUTO_GRID y GEOMETRI_AUTO_GRID α Soporte para objetos curvilíneos β CircularString β CompoundCurve β CurvePolygon α Nuevos métodos adaptados β STCurveToLine() β BufferWithCurves() β … α Mayor Precisión
  • 33. Spatial Más novedades α Para mayor precisión, cláusula SPATIAL_WINDOW_MAX_CELL con posibilidad de llegar a 2048 celdas α La mayoría de operadores y métodos se han optimizado α Ya es posible realizar agregaciones β UnionAggregate β EnvelopeAggregate β CollectionAggregate β ConvexHullAggregate SELECT GEOGRAPHY::UnionAggregate(geog) FROM Regions α Ya es posible superar el valor de hemisferio lógico
  • 34. Objetivos de la sesión Agenda α Escalabilidad α Columnar storage α Agregados con ventana deslizante α Paginación eficiente α Secuencias α Mejoras en iFTS α Optimización en tipos de datos espaciales
  • 35. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/