+ All Categories
Home > Technology > Web cast de optimización Sql Server - Arquitectura

Web cast de optimización Sql Server - Arquitectura

Date post: 08-Jul-2015
Category:
Upload: ahias-portillo
View: 4,404 times
Download: 2 times
Share this document with a friend
Description:
Introducción a arquitectura de Sql Server y procesamientos de querys en la optimización.
19
Expositor: Ahias Portillo [email protected] WebCast de Optimización Sql Server Arquitectura
Transcript
Page 1: Web cast de optimización Sql Server - Arquitectura

Expositor:

Ahias Portillo

[email protected]

WebCast de Optimización Sql ServerArquitectura

Page 2: Web cast de optimización Sql Server - Arquitectura

Sobre Mi

Arquitecto de Inteligencia de NegociosIng. 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.

Page 3: Web cast de optimización Sql Server - Arquitectura

Organizadores

Page 4: Web cast de optimización Sql Server - Arquitectura

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

Page 5: Web cast de optimización Sql Server - Arquitectura

Arquitectura de Sql Server 2012

Método de Acceso

Administrador de

Transacciones Administrador de Buffer

DataFile

Data File

Transaction Log

Optimizador

Cmd Parser

Query Executor

Query Tree

Query Plan

SNI

Evento de Consulta

Planes en Cache

Datos En Cache

Buffer Pool

Sql ServerInterfaces de Red

TDS

TDS

Page 6: Web cast de optimización Sql Server - Arquitectura

Arquitectura General de Sql Server 2014

Memory Optimized Table FilegroupData Filegroup

SQL Server.exeMemory Optimized Tables & Indexes

TDS Handler and Session Management

Natively Compiled

SPs and Schema

Buffer Pool for Tables & Indexes

Transaction Log

Query

Interop T1 T3T2

T1 T3T2

Tables

Indexes

T-SQL Query Execution

T1 T3T2

Parser,

Catalog,

Optimizer

Hekaton

Compiler

Hekaton

Component

Key

Existing SQL

Component

Generated

.dll

Page 7: Web cast de optimización Sql Server - Arquitectura

Procesamiento de Querys

Parsing

Binding

Optimización del Query

Ejecución del Query

Parse Tree

Algebrized Tree

Ejecución del Plan

Sentencia SQL

Resultado del Query

Es una Sentencia

DML

SiMotor de

Almacenamiento

No

Motor de Almacenamiento

Resultado del Query

Page 8: Web cast de optimización Sql Server - Arquitectura

Descomposición del Query (Tree)

From

Inner

Where

Group By

Select

Having

Order By

Page 9: Web cast de optimización Sql Server - Arquitectura

Descomposición del Query (Tree)Inicio

1FROM

ExisteOperador

(JOIN, APPLY, PIVOT,UNPIVOT)

2Que Operador?

Join Apply

Cross(Producto Cartesiano)

Inner(Filtros)

Outer(Adición de registros)

Cross(Expresiones de Tablas)

Outer(Adición de registros)

ExisteWhere?

SI

NO

3Realizar Filtros Where

SI

2

NO

Page 10: Web cast de optimización Sql Server - Arquitectura

Descomposición del Query (Tree)

2

Existe Group BY? 3

RealizarGroup By

(Campos Participantes, Agregaciones)

Existe Having?

4Realizar

Filtros en el Group By5Select

SI

SI

3

Page 11: Web cast de optimización Sql Server - Arquitectura

Descomposición del Query (Tree)

Evaluar expresiones

Existe Distinct?

RealizarDistinct

Existe Top?

RealizarTop

Existe Order By

SI

SI

6Realizar Order By

Columnas Especificadas (Cursor)

NO

NO

FIN

NO

3

SI

Page 12: Web cast de optimización Sql Server - Arquitectura

Plan de ejecución

Resultado

Row03

Row02

Row01

SQL

Chequeo de Sintaxis(Parsing)

Estimación de Registros

Optimizador

Algebrizer(Binding)

Plan Ejecusion

Hardware

Configuración

Querys Hints

Índices

Particionamiento

Filegroups/Files

Page 13: Web cast de optimización Sql Server - Arquitectura

Plan de ejecuciónSimplificación(Query Tree)

Estimación de Cardinalidad

Trivial Plan

Existe Trivial Plan?

Faces múltiples de optimización

1 a N planes de ejecución

Es posible procesamiento en

paralelo?

Optimización Para

Proceso en paralelo

Guardar plan de Ejecución En Cache

SI

SI NO

NO

Page 14: Web cast de optimización Sql Server - Arquitectura

Resumen de Conceptos

Sql Server Network Interface (SNI): Es una capa de protocolo que permiteestablecer conexión entre el cliente y el servidor. Se compone de unconjuntos de API que son utilizadas por el motor de base de datos y el SQLServer Native Client (SNAC)

Este protocolo no es directamente configurable, aunque puedeconfigurarse 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.

Page 15: Web cast de optimización Sql Server - Arquitectura

Resumen de Conceptos

• Tabular Data Stream (TDS): Es un protocolo propietario de Microsoft, unavez la conexion es realizada por TCP/IP los mensaje enviados sonencapsulados por medio TDS.

• Command Parser: Valida si la sentencia Sql es correcta.

• Optimizador: Es unos de los mas complejos y secretos elemento de SqlServer, es considerado el elemento mas valioso dentro del motor de basede datos.

Page 16: Web cast de optimización Sql Server - Arquitectura

Resumen de Conceptos

• Método de acceso: Son un conjunto de API que permiten accede alalmacenamientos 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 ladistribución de los datos.

• Selectividad: Es la fracción de registros de una tabla que cumple con losfiltros. También se puede definir el total de filas que retornaría la consultadividido entre el numero total de filas de la tabla y se calcula con lasiguiente formula:• Selectividad= (Filas que cumple el predicado)/(Filas del predecesor)

Page 17: Web cast de optimización Sql Server - Arquitectura

Resumen de Conceptos

• Cardinalidad: Es la cantidad de registros que retorna un query y se definecon la siguiente formula:• Cardinalidad=Selectividad *#RegistroTabla

• Densidad: Es el numero de duplicados de una columna o conjunto decolumnas .

• Plan de Ejecución: Es el conjunto de pasos que debe realizar el motorpara poder procesar la consulta en proceso.

(ref:http://technet.microsoft.com/en-us/library/cc966419.aspx)

Page 18: Web cast de optimización Sql Server - Arquitectura

Preguntas

Page 19: Web cast de optimización Sql Server - Arquitectura

Comunidad

https://www.facebook.com/groups/elrincondesqlserver/

http://www.youtube.com/user/elrincondesqlserver

http://www.elrincondesqlserver.com/


Recommended