24 HOP edición Español - Optimizacion de motores sql server desde el codigo hasta la...

Post on 06-Jul-2015

344 views 0 download

Tags:

transcript

Optimización de motores SQL Server

desde el código hasta la administración

Expositor: Julián Castiblanco P

MCSA-MCITP-MCP SQL SERVER

Moderador: Kenneth Ureña

Gracias a nuestros auspiciadores

Database Security as Easy as A-B-C

http://www.greensql.com

Hardcore Developer and IT Training

http://www.pluralsight.com

SQL Server PerformanceTry PlanExplorer today!

http://www.sqlsentry.com

Próximos SQL Saturday

24 de Enero de 2015 https://www.sqlsaturday.com/346/register.aspx

18 de Abril de 2015 https://www.sqlsaturday.com/368/register.aspx

9 de Mayo de 2015 https://www.sqlsaturday.com/373/register.aspx

6 de Diciembre de 2014 https://www.sqlsaturday.com/351/register.aspx

4

Capítulo Global PASS en Español

4

Reuniones semanales todos los miércoles a

las 12PM UTC-5 (Hora de Colombia)

https://www.facebook.com/SpanishPASSVC

5

Asistencia Técnica

Si requiere asistenciadurante la sesión debe usar la sección de preguntas que esta en el menú de la derecha.

Use el botón de Zoom para ajustar su pantalla al tamaño deseado

Escriba sus preguntas en la sección de preguntas que esta en el menú de la derecha

6

Julián Castiblanco

Consultor de persistencia para Synergy TPC. Certificado como administrador

desde la versión SQL Server 2005. 7 años de experiencia desarrollando y

configurando bases de datos para distintas organizaciones del sector financiero

y salud.

6

7

Agenda

• Resolución de consultas en SQL Server

• Manejo de archivos en SQL Server

• Caso de la vida real 1: Cómo reemplazar Cursores?

• Caso de la vida real 2: Cómo reemplazar triggers?

• Caso de la vida real 3: Cómo puedo distribuir mis datos?

7

8

Como se guarda la información en SQL Server

Cliente

Servidor de BaseDe Datossqlservr.exe

Archivo de LogTransaccional

*.LDF

Archivo de Datos*.MDF, *. NDF

12 3 4

9

COMO SE GUARDA LÓGICAMENTE

T1 T3

T4

T2

MDF, NDF

LDF

DistribuciónFísica

DistribuciónLógica

Filegroup 1

Filegroup 2

10

COMO SE GUARDA LÓGICAMENTE

T1 T3

T4

T2

MDF, NDF

LDF

DistribuciónFísica

DistribuciónLógica

Filegroup 1

Filegroup 2

11

Si lo sabemos porqué tenemos esto??

12

Ciclo de vida de una transacción SELECT

Mdffile

Ldffile

Motor de almacenamiento

Ges

tor

de

tran

sacc

ión

Mét

od

o d

e

acce

so

Ges

tor

del

b

úfe

r

Motor Relacional (procesador de consultas)

op

tim

izad

or

An

aliz

ado

r d

e s

inta

xis

Ejec

uto

r d

e co

nsu

ltas

Capa de Protocolo

SIN – SQL Server

Network Interfaz

Buffer Pool

• Plan Caché

• Caché de datos

TCP/IPShared

memoryName pipes

VIA

TDS

SQLcommandConsulta de árbol *

Plan de ejecución

Profesional SQL Server 2012 Internals & Troubleshooting. Wrox

13

Ciclo de vida de una transacción SELECT

Mdffile

Ldffile

Motor de almacenamiento

Ges

tor

de

tran

sacc

ión

Mét

od

o d

e

acce

so

Ges

tor

del

b

úfe

r

Motor Relacional (procesador de consultas)

op

tim

izad

or

An

aliz

ado

r d

e s

inta

xis

Ejec

uto

r d

e co

nsu

ltas

Capa de Protocolo

SIN – SQL Server

Network Interfaz

Buffer Pool

• Plan Caché

• Caché de datos

TCP/IPShared

memoryName pipes

VIA

TDS

Profesional SQL Server 2012 Internals & Troubleshooting. Wrox

14

Ciclo de vida de una transacción UPDATE

Mdffile

Ldffile

Motor de almacenamiento

Ges

tor

de

tran

sacc

ión

Mét

od

o d

e

acce

so

Ge

sto

r d

el

fer

Motor Relacional(procesador de consultas)

op

tim

izad

or

Analizador de sintaxis

Ejecutor de consultas

Capa de Protocolo

SIN – SQL Server Network

Interfaz

Buffer Pool

• Plan Caché

• Caché de datos

TDS

Lang. EventQTree

QP

DirtyPage

15

Caso de la vida real 1: Eliminando uso de cursores

• La empresa Nikel se dedica a realizar análisis de mercados, comprando y

analizando información de bases de datos de diferentes fuentes.

Actualmente se encuentra en la actividad de mejorar la calidad de

información, para lo cual lo contrata a usted para optimizar un procedimiento

almacenado que se encarga de tomar la información cargada a través de un

aplicativo del cual no tienen el código fuente de la aplicación y que a través

de un procedimiento almacenado actualiza la información de los clientes. El

problema más grande es el tiempo que toma la operación y el consumo

excesivo de recursos que se presenta cuando se ejecuta el proceso.

15

16

Caso de la vida real 2: Reemplazando Triggers

• El Banco Dolar, debe cumplir una normativa local de seguridad de la

información en la cual, todas las acciones de modificación de información

sobre la tabla de transacciones, debe ser auditada con sus valores previos y

nuevos en una tabla histórica. Actualmente, el equipo de proyectos comenta

que varios incidentes en la salida de mejoras del aplicativo se presenta por

la lógica compleja que manejan los disparadores en ciertas tablas.

16

17

Caso de la vida real 3: Como puedo distribuir mis

datos?

• La aplicación de facturación de la compañía vendo de todo. Está

presentando una degradación en el rendimiento durante el horario laboral.

Después de un análisis minucioso, el administrador de almacenamiento

descubre que el encolamiento en disco del disco “E” es bastante alto, así

como las lecturas y escrituras. El proveedor de la aplicación comenta que 2

de las tablas del sistema son bastante transaccionales. Al revisar la

configuración de la base usted encuentra que solo tiene un archivo de datos

que pesa cerca de 60GB de los cuales 30GB pertenece a información de las

2 tablas transaccionales. Que posibles opciones podrían plantearse a la

compañía?

17

Preguntas?

Durabilidad diferida de transacciones y mejoras en gestión de bloqueos para tareas administrativas en SQL Server 2014

Eladio Rincon

A continuación …

Gracias por participar