Web cast de optimización Sql Server - Arquitectura
Upcoming SlideShare
Loading in...5
×
 

Web cast de optimización Sql Server - Arquitectura

on

  • 3,091 views

Introducción a arquitectura de Sql Server y procesamientos de querys en la optimización.

Introducción a arquitectura de Sql Server y procesamientos de querys en la optimización.

Statistics

Views

Total Views
3,091
Views on SlideShare
555
Embed Views
2,536

Actions

Likes
0
Downloads
13
Comments
2

3 Embeds 2,536

http://www.elrincondesqlserver.com 2533
http://webcache.googleusercontent.com 2
http://www.google.cl 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Me gustó mucho, no tendrás las fuentes por ahí?, hay algunas cosas que no entendí muy bien y quisiera examinarlas un poco más.
    Are you sure you want to
    Your message goes here
    Processing…
  • muchas gracias por el aporte me sirvio de mucha ayuda :D
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Web cast de optimización Sql Server - Arquitectura Web cast de optimización Sql Server - Arquitectura Presentation Transcript

  • WebCast de Optimización Sql Server Arquitectura Expositor: Ahias Portillo elrincondesqlserver@gmail.com
  • Sobre Mi Arquitecto de Inteligencia de Negocios Ing. Ahias Portillo, MCT, MCITP DBA, BI Especialista en inteligencia de negocios y base de datos con mas de 7 años de experiencia, ha desarrollado proyectos para mas de 7 países en América. Es un evangelista y conferencista latinoamericano de Sql Server, actualmente es un miembro activo de PASS.
  • Organizadores
  • Agenda • Arquitectura de Sql Server 2012 • Arquitectura de Sql Server 2014 • Procesamiento de Querys • Descomposición del Query (Query Tree) • Plan de ejecución • Resumen de Conceptos
  • Arquitectura de Sql Server 2012 Evento de Consulta Query Tree Cmd Parser TDS Optimizador SNI Query Plan TDS Query Executor Sql Server Interfaces de Red Planes en Cache Administrador de Transacciones Transaction Log Data File Data File Método de Acceso Administrador de Buffer Datos En Cache Buffer Pool
  • Arquitectura General de Sql Server 2014 TDS Handler and Session Management Natively Compiled SPs and Schema Key Parser, Catalog, Optimizer Existing SQL Component Hekaton Compiler T-SQL Query Execution Hekaton Component Query Interop T1 T2 T3 Tables Indexes Memory Optimized Tables & Indexes T1 Memory Optimized Table Filegroup Buffer Pool for Tables & Indexes SQL Server.exe T2 Transaction Log T3 T1 T2 Data Filegroup T3 Generated .dll
  • Procesamiento de Querys Sentencia SQL Parsing Parse Tree Es una Sentencia DML No Resultado del Query Motor de Almacenamiento Si Binding Algebrized Tree Optimización del Query Ejecución del Plan Ejecución del Query Resultado del Query Motor de Almacenamiento
  • Descomposición del Query (Tree) From Inner Where Group By Having Select Order By
  • Descomposición del Query (Tree) Inicio 1 FROM Existe Operador (JOIN, APPLY, PIVOT,UNPIVOT) SI 2 Que Operador? Join Apply Cross (Producto Cartesiano) Cross (Expresiones de Tablas) Inner (Filtros) Outer (Adición de registros) NO Outer (Adición de registros) NO 2 Existe Where? SI 3 Realizar Filtros Where
  • Descomposición del Query (Tree) 2 Existe Group BY? Existe Having? 5 Select 3 SI 3 Realizar Group By (Campos Participantes, Agregaciones) SI 4 Realizar Filtros en el Group By
  • Descomposición del Query (Tree) 3 Evaluar expresiones Existe Distinct? SI Realizar Distinct NO SI Existe Top? Realizar Top NO SI Existe Order By NO FIN 6 Realizar Order By Columnas Especificadas (Cursor)
  • Plan de ejecución Chequeo de Sintaxis (Parsing) Algebrizer (Binding) Estimación de Registros Hardware Configuración SQL Querys Hints Resultado Optimizador Plan Ejecusion Row02 Row03 Row01 Índices Particionamiento Filegroups/Files
  • Plan de ejecución Simplificación (Query Tree) Estimación de Cardinalidad Trivial Plan SI Existe Trivial Plan? NO Faces múltiples de optimización 1 a N planes de ejecución NO Guardar plan de Ejecución En Cache Es posible procesamiento en paralelo? SI Optimización Para Proceso en paralelo
  • Resumen de Conceptos Sql Server Network Interface (SNI): Es una capa de protocolo que permite establecer conexión entre el cliente y el servidor. Se compone de un conjuntos de API que son utilizadas por el motor de base de datos y el SQL Server Native Client (SNAC) Este protocolo no es directamente configurable, aunque puede configurarse la forma en que el cliente y servidor se comunicara. • Shared Memory: Conexiones Locales. • TCP/IP: IP y puerto, es el protocolo que mas se utiliza.
  • Resumen de Conceptos • Tabular Data Stream (TDS): Es un protocolo propietario de Microsoft, una vez la conexion es realizada por TCP/IP los mensaje enviados son encapsulados por medio TDS. • Command Parser: Valida si la sentencia Sql es correcta. • Optimizador: Es unos de los mas complejos y secretos elemento de Sql Server, es considerado el elemento mas valioso dentro del motor de base de datos.
  • Resumen de Conceptos • Método de acceso: Son un conjunto de API que permiten accede al almacenamientos de los datos, índices, buffer etc. • Buffer Manager: Es el encargado de administrar la memoria de Sql Server. • Estadísticas: Es el corazón de la optimización, contiene información de la distribución de los datos. • Selectividad: Es la fracción de registros de una tabla que cumple con los filtros. También se puede definir el total de filas que retornaría la consulta dividido entre el numero total de filas de la tabla y se calcula con la siguiente formula: • Selectividad= (Filas que cumple el predicado)/(Filas del predecesor)
  • Resumen de Conceptos • Cardinalidad: Es la cantidad de registros que retorna un query y se define con la siguiente formula: • Cardinalidad=Selectividad *#RegistroTabla • Densidad: Es el numero de duplicados de una columna o conjunto de columnas . • Plan de Ejecución: Es el conjunto de pasos que debe realizar el motor para poder procesar la consulta en proceso. (ref:http://technet.microsoft.com/en-us/library/cc966419.aspx)
  • Preguntas
  • Comunidad https://www.facebook.com/groups/elrincondesqlserver/ http://www.youtube.com/user/elrincondesqlserver http://www.elrincondesqlserver.com/