SQL Server, ideas y experiencias

Materiales-Índices y rendimiento (Performance) en el SQL Server

por Jose Mariano Alvarez 3. noviembre 2009

El objetivo fue aprender como el SQL Server almacena los datos y como utiliza los índices para poder diseñarlos y usarlos eficientemente. El objetivo final fue que los asistentes puedan tener el conocimiento necesario para optimizar mediante índices el uso que hace una aplicación de los recursos disponibles en el SQL Server.

Los siguientes enlaces tienen el contenido de los materiales mostrados en el curso dictado en el MUG y que no están incluidos en el CD con materiales que han recibido.

Índices y rendimiento (Performance) en el SQL Server.pdf (1,76 mb)

DemosIndicesOct2009.zip (25,81 kb)

Tags: , , , , ,

Eventos y conferencias

Se viene el Code Camp Buenos Aires 2009

por Jose Mariano Alvarez 22. julio 2009

bn_CodeCamp2009

Ya falta poco para que se abra la registración del Code Camp Buenos Aires 2009.

Code Camp es un evento totalmente gratuito que realiza el Programa Académico Microsoft junto con estudiantes de informática. Es principalmente realizado por estudiantes con conocimiento avanzado. Se realizan presentaciones en paralelo de distintos temas y demos en vivo de las células de estudio de algunas universidades.

Les dejo el link del sitio donde podran registrarse

http://www.codecamp.com.ar

Tags: ,

Comunidad | Eventos y conferencias

Materiales - El data warehouse en la estrategia de inteligencia de negocio –13 Junio 2009

por Jose Mariano Alvarez 13. junio 2009

UBA-FCEEn esta presentación que realicé en el salón de actos de la Facultad de Ciencias Económicas de la UBA (Universidad de Buenos Aires) con el patrocinio del Grupo de Usuarios Microsoft, estuve exponiendo sobre el data warehouse en la estrategia de inteligencia de negocio. Esta presentación estuvo orientada a mostrar al data warehouse como la estrategia central en la construcción de una solución de inteligencia de negocios, las alternativas para su construcción y la relación con la tecnología OLAP, la minería de datos, los portales de información y los tableros de comando. En todos los casos se trato de reforzar los factores de éxito y los riesgos más importantes en este tipo de proyectos.

Estuve muy a gusto con el auditorio, con los asistentes y los organizadores. Espero que lo hayan podido aprovechar. Les dejo para que puedan descargarse las diapositivas de la presentación en el siguiente link:

El data warehouse en la estrategia de inteligencia de negocio

Video Run09 – SQL Server Programmability

por Jose Mariano Alvarez 5. junio 2009

En el sitio de RUN09 se encuentran disponibles los videos y los materiales del evento.

Todas las sesiones grabadas se encuentran en http://www.puertadeenlace.net/run09/Sesiones_Grabadas

Si hacen clic en la imagen de abajo podrán ver la presentación de programación que presente junto a Emilio Boucau con las novedades y aspectos no muy difundidos en materia de desarrollo.

  • Los nuevos tipos de datos
  • Los parámetros “Table-valued”
  • La sentencia MERGE
  • La clausula OUTPUT
  • Las novedades en INSERT y VALUES
  • Los operadores compuestos
  • La asignación e inicialización de variables
  • La posibilidad de utilizar Sparse Columns y Column Set

Para ver el video debes hacer clic  en la imagen a continuación

Run09videoEmilioMariano

Tags: , ,

Eventos y conferencias

Materiales - Arquitectura, rendimiento y performance tuning del SQL Server

por Jose Mariano Alvarez 8. mayo 2009

El objetivo de este seminario fue aprender acerca de la mejor forma de utilización del SQL Server, partiendo del estudio de la arquitectura interna para poder entender como usa los recursos hasta llegar al análisis del rendimiento de aplicaciones y las alternativas para solucionar los problemas que se presenten. Esto apuntó a solucionar tanto los problemas de performance de aplicaciones que se han desarrollado y se tiene su código como de las que no se conoce detalladamente su diseño. El objetivo final fue tener el conocimiento necesario para optimizar el uso que hace una aplicación de los recursos disponibles en el SQL Server.  En ocasiones se hizo comparaciones para ver diferencias y similitudes con el SQL Server 2000/05/08.

Los siguientes enlaces tienen el contenido de los materiales mostrados en el curso que no están incluidos en el CD que han recibido.

Arquitectura rendimiento y performance Tuning del motor relacional del SQL Server Parte 1.pdf (650,83 kb)

Arquitectura rendimiento y performance Tuning del motor relacional del SQL Server Parte 2.pdf (968,57 kb)

Demos.zip (44,44 kb)

 

DETALLES DE CONTENIDOS

1)      Performance

a)      Introducción teórica

b)      El concepto de performance (rendimiento)

c)       Indicadores de performance

2)      Arquitectura y funcionamiento interno

a)      Componentes internos

b)      Gestión de la memoria

c)       Páginas y Extents

d)      Buffers y cache

e)      Discos y RAID

f)       Configuración

g)      Hardware

h)      Software

3)      Bases de datos
a)      Archivos físicos

b)      Asignación de recursos y filegroups

c)       Opciones de bases de datos

d)      Collation

e)      Shrink

f)       Bases del sistema

g)      Cambios en la tempdb

4)      Logging y recuperación

a)      Transaction Log

b)      Backup y Restore

c)       Fallos y recovery

5)      Tablas

a)      Arquitectura interna

b)      Tipos de datos

c)       Novedades y cambios en SQL Server 2005

d)      Novedades en SQL Server 2008

6)      Índices

a)      Árboles B  y Heaps

b)      Índices clustered y non Clustered

c)       Unicidad

d)      Fillfactor y padd index

e)      Estadísticas y densidades

f)       Page splits y fragmentación

g)      Reindexado

h)      Particionamiento de tablas e índices

i)        Gestión de índices

j)        Intersección de índices

k)      Cover index y variantes según la versión

l)        Sparse index en SQL Server 2008

m)    Índices parciales en SQL Server 2008

7)      Planes de ejecución y procesamiento.

a)      Operadores lógicos y físicos

i)        Conceptos

ii)       Entendiendo el plan

iii)     Conceptos de Hash, Merge y Nested loops

b)      Procesamiento de queries

i)        Select, insert, delete, update

ii)       Truncate

iii)     Join

(1)    Hash

(2)    Merge

(3)    Nested loops

iv)     Where y SARGS

v)      Subqueries

vi)     Constraints

vii)   Vistas simples

viii)  Vistas indexadas

ix)     Cursores

x)      Triggers

c)       Store procedures

i)        El cache de procedimientos

ii)       Compilación y recompilación

d)      Funciones

e)      Resultados intermedios

i)        Tablas temporales

ii)       tablas derivadas

iii)     Tipo de dato tabla

f)       Control del plan de ejecución

i)        Heurísticas

ii)       Hints

iii)     Plan Guides

g)      Novedades

h)      XML e Indices XML en SQL Server 2005/8

8)      Recursion y Common Table Expresions en SQL Server 2005

9)       Operadores de conjunto en SQL Server 2005

10)   Funciones de numeración en SQL Server 2005

11)   Agregación y pivoteo en SQL Server 2005

12)    Datos Jerárquicos en SQL Server 2008

13)    Filestream en SQL Server 2008

14)    Merge en SQL Server 2008

15)   Transacciones y concurrencia

a)      Modelos y propiedades ACID

b)      Modos de aislamiento.

c)       Snapshot Isolation level y row versioning.

d)      Tipos de locks y escalamiento

e)      Deadlocks

16)   9) Midiendo el rendimiento (monitoring)

a)      Performance monitor

b)      SQL Server Profiler

c)       Dynamic management Views

d)      Statistics time y Statistics IO

e)      El debug en cada version

f)       Index Tuning Wizard

g)      Database Tuning Adviser

h)      Query analizar

i)        Management studio

j)        Built-in Traces

k)      Otras herrramientas

17)   10) CLR

a)      Stored procedures y funciones

b)      Performance

18)   11) Temas especiales

a)      Manejo de grandes volúmenes

b)      Normalización versus desnormalización

c)       Database snapshots

d)      NUMA y segregación de la carga

e)      Control de la carga (2008)

Tags: , ,

Eventos y conferencias

FCE - Materiales - SQL Server Práctico 27 Marzo 2009

por Jose Mariano Alvarez 28. marzo 2009
UBA-FCE En esta presentación que realicé en la Facultad de Ciencias Económicas de la UBA(Universidad de Buenos Aires) con el patrocinio del Grupo de Usuarios Microsoft, estuve  mostrando algunos detalles prácticos de la programabilidad del SQL Server 2008. Esta presentación estuvo orientada a mostrar algunos detalles prácticos del lenguaje T-SQL, especialmente en temas de facilidad y productividad.
 
Comenzamos mostrando cómo se puede manipular la concurrencia mediante la utilización de los distintos niveles de aislamiento con las sentencias SET TRANSACTION ISOLATION LEVEL READ COMMITTED, SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED y el hint WITH (NOLOCK). Se explico las consecuencias de realizar lecturas sucias algo que no es muy conocido.
 
Luego mostré los nuevos operadores INTERSEC, EXCEPT, la sentencia CREATE SYNONYM y las common table expressions  (CTE) que permiten simplificar la forma en que escribimos nuestro código.
 
Cuando explique las nuevas clausulas de la integridad referencial declarativa en la definición de las  CONSTRAINT FOREIGN KEY, ON DELETE SET NULL, ON DELETE SET DEFAULT, ON UPDATE SET NULL, ON UPDATE SET DEFAULT, introducidas en SQL Server 2005, que completaban la especificación del ANSI estuvimos hablando de la diferentes problemáticas que se presentan cuando no se respetan las condiciones de integridad de datos.
 
También pudimos ver las novedades de la clausula TOP, las posibilidades de la clausula OUTPUT y el nuevo manejo estructurado de errores con BEGIN TRY, END TRY, BEGIN CATCH, END CATCH que abre nuevas posibilidades en la metodología de programación de procedimientos almacenados (STORED PROCEDURES).
 
Luego pasamos a la sentencia MERGE que permita realizar actualizaciones masivas de manera más eficiente y simple. Cuando vimos  la posibilidad de usar columnas SPARSE y XML COLUMN_SET FOR ALL_SPARSE_COLUMNS , surgieron varias preguntas acerca del tipo de dato XML, introducido en SQL Server 2005 y una pregunta clásica de si se podían pasar desde el cliente “registros” en un XML como parámetro de un stored procedure. Entonces aproveche la ocasión para mostrar el nuevo tipo de parámetro tabla que se puede crear a partir de un tipo creado con CREATE TYPE.
 
Estuve muy a gusto con el auditorio y con los asistentes y organizadores y espero que lo hayan podido aprovechar.
 
Este es el contenido de los ejemplos contenidos en el archivo de demos:
  • 01 - Isolation Levels.sql   
  • 02 - EXCEPT-INTERSECT.sql
  • 03 - Synonym.sql            
  • 04 - CTE.sql
  • 05 - DRI.sql                
  • 06 - TOP.sql
  • 07 - OUTPUT.sql             
  • 08 - ERRORES.sql
  • 09 - Merge.sql              
  • 10 - Sparse column SET.sql
  • 11 - TVP-DATE-TIME.sql      

FCE20090327 - SQL Practico - Demos.zip (9,00 kb)

Tags: , , ,

Eventos y conferencias

RUN09 - Materiales - Programabilidad con SQL Server 2008

por Jose Mariano Alvarez 26. marzo 2009

Run09 En esta presentación que realizamos Emilio Boucau y yo en el evento RUN09, estuvimos exponiendo algunos detalles poco conocidos y novedosos de la programabilidad del SQL Server 2008. Esta presentación estuvo especialmente orientada al lenguaje T-SQL donde tratamos de sacarle el jugo a los procesos en SQL Server. Mostramos como los nuevos tipos de datos y los parámetros “Table-valued” permitirán simplificar y mejorar el código. Otra de las sentencias mostrada fue MERGE y la clausula OUTPUT que ayudan a manejar datos, así como las novedades en INSERT y VALUES que permiten ser más productivos y eficientes. Se mostraron cómo se pueden usar los operadores compuestos y la asignación e inicialización de variables. Lamentablemente quedo pendiente la explicación de cómo utilizar Sparse Columns y Column Sets aunque el ejemplo está dentro del archivo disponible para descargarse.

El archivo de descarga contiene los siguientes archivos adjuntos

  • 01 - SET Operators.sql
    Muestra los nuevos operadores de conjunto INTERSECT y EXCEPT
  • 02 - APPLY.sql
    Muestra un ejemplo de la aplicación del CROSS APPLY
  • 03 - Synonym.sql
    Muestra cómo poder aprovechar los sinónimos
  • 04 - TableSample.sql
    Muestra como aprovechaer la posibilidad de hacer un muestreo estadístico
  • 06 - Filtered Indexes.sql
    Ejemplo de cómo se puede crear un índice filtrado por alguna condición
  • 07 - Merge.sql
    Ejemplo de uso de MERGE y OUTPUT
  • 08 - TVP-DATE-TIME.sql
    Ejemplo de TABLE VALUED PARAMETERS o TVP y de los tipos de datos TIME y DATE con el correspondiente ejemplo de uso en ADO.NET
  • 09 - Sparse column SET.sql
    Ejemplo de uso de las columnas SPARSE (esto no fue mostrado en el evento RUN09)

RUN09 - Programabilidad en SQL Server 2008.zip (31,51 kb)

Tags: , ,

Eventos y conferencias

Powered by SQL Total Consulting


View Jose Mariano Alvarez's profile on LinkedIn

 Add to Technorati Favorites 

Calendar

<<  noviembre 2017  >>
lumamijuvido
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Locations of visitors to this page

Widget Twitter not found.

Root element is missing.X


Valid XHTML 1.0 Transitional

Valid CSS!