SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
WebCast de Optimización Sql Server
Almacenamiento e Índices
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
• Fundamento de Almacenamiento
•
•
•
•

Paginas
Extents
Tipos de paginas
Organización de paginas

• Índices
• Definición
• Tipos de índices
Paginas
Extents

(Expert Performance Indexing For Sql Server 2012, Pagina 17)
Tipos de Paginas
• File header page
• Boot page
• Page Free Space (PFS) page
• Global Allocation Map (GAM)
page
• Shared Global Allocation Map
(SGAM) page

• Differential Changed Map (DCM)
page
• Bulk Changed Map (BCM) page
• Index Allocation Map (IAM) page
• Data page
• Index page
• Large object (Text and Image)
page
File Header Page
Es la primera pagina de cualquier archivo de datos, contiene
información de metadatos sobre los archivos de base de datos.
•
•
•
•
•
•

File ID
File group ID
Current size of the file
Max file size
Sector size
LSN information
Boot Page
La pagina de inicio es similar Header page, ya que proporciona
metadatos, con la diferencia que la información proporcionada es
de la base de datos.
• Nombre de base de datos
• Identificador de Base De datos
• Nivel de compactibilidad
• Etc.
Page Free Space Page(PFS)
Con el fin de dar seguimiento de las paginas que tienen espacio
disponible, para la inserción de filas, cada datafile contiene Page
Free Space Page.
Global Allocation Map Page(GAM)/
Shared Global Allocation Map Page(SGAM)
• GAM: Es similar PFS. Esta pagina determina si un Extent esta
disponible para su asignación a un exten uniforme.
• SGAM: Es similar a GAM con la diferencia, que determina si el
extent esta disponible para ser asignado a un extent Mixed.
Differential Changed Map Page (DCM)/
Bulk Changed Map Page(BCM))
• DCM: Se utiliza para determinar si un GAM ha cambiado. Cuando
una medida ha cambia de 0 a 1, estos bit se almacena en DCM.
• BCM: Se utiliza para indicar cuando un intervalo de GAM han
cambiado por operaciones de Bulk_logged.
Index Allocation Map Page(IAM)
La anteriores paginas estaban relacionadas a Metada de
almacenamiento.
Una de las cosas mas importante que debe saber Sql Server es
saber si una pagina esta asociada a una tabla o índice, la pagina que
proporciona esta información es IAM.
Cada Tabla o índice comienza primero con una pagina IAM.
Data Page/Index Page/Large Object Page
• Data Page: Las paginas de datos se utilizan para almacenar los
datos y son los tipos de paginas mas comunes en todas las base de
datos.
• Index Page: Estas paginas proporcionar información de la
estructura y donde las paginas de datos se encuentran.
• Large Object Page: A diferencia de las paginas de datos que están
limitadas a 8kb. Existe algunos tipos de datos cuyo tamaño
máximo es de 2gb, para ellos se requiere un tipo de
almacenamiento distinto.
Organizing Pages
• Heap
• B-Tree
• Columnar
HEAD
Es una estructura de datos que
almacena la posición física en la
que se almacenó cada nueva fila
dentro de las páginas asignadas a
la tabla. (Cuando no existen
índices)

(http://technet.microsoft.com/en-us/library/aa964133(v=sql.90).aspx)
B-Tree
Es una estructura utilizada para la
indexación, y se utiliza tanto para
índices Clustered y NonClustered.

El B-Tree organiza los datos en una
jerarquía de árbol inverso.

(http://www.terrymarshall.com.au/Blog/tabid/162/EntryId/156/SQLServer-2012-Columnstore-Indexes.aspx)
Column Store Structure
Es una nueva estructura de
almacenamiento introducida con
Sql Server 2012, y organiza los
índices de una forma tabular y por
fila.

(http://www.terrymarshall.com.au/Blog/tabid/162/EntryId/156/SQLServer-2012-Columnstore-Indexes.aspx)
Table Scan
• Realiza un recorrido de todo
los registros en una tabla
hasta encontrar el valor
seleccionado.
• Generan altos costos de
procesamiento.

(http://www.codeproject.com/Articles/55505/SQL-Query-OptimizationFAQ-Part-1-With-video-expla)
¿Que es un Índice?
• Es una estructura de almacenamiento de datos que permite el
acceso eficiente a ellos, por medio de columnas o conjuntos de
columnas que sirven como diccionarios.
Tipos de Índices
• Clustered
• NonClustered
• Columnares

• Indices Especiales
• Full Text
• XML
• Spatial
Clustered
Los Clustered Indexes son índices
que controlan el orden físico de
las filas en la tabla, por lo cual solo
puede existir uno para cada tabla.

(http://technet.microsoft.com/en-us/library/cc917624.aspx)
NonClustered
Los Non-Clustered indexes son
índices que mantienen un sub
conjunto de las columnas de la
tabla en orden. Estos índices no
modifican el orden de las filas de
la tabla, en lugar de esto
mantienen una lista ordenada de
referencias a filas de la tabla
original.
(http://technet.microsoft.com/en-us/library/cc917624.aspx)
Sintaxis
Sintaxis
Sintaxis
Columnar
SQL Server 2012 introduce los índices
columnares, los cuales aceleran la
ejecución de consultas con grandes
cantidades de datos, especialmente para
los Almacenes de Datos o Data Warehouse.
La ventaja de los índices columnares es que
leen de disco únicamente las columnas
necesarias para resolver la consulta, lo cual
acelera el proceso de obtención de datos
de disco, éstas columnas son almacenadas
de forma compresa en el disco duro, lo cual
disminuye las operaciónes de IO, y por lo
tanto se obtienen los datos más
rápidamente.

(http://ecastrom.blogspot.com/2012/07/column-store-index-en-sql-server-2012.html)
Sintaxis
Full Text
Es un índice especialidado para realizar consultas
sobre campos que contienen grandes cantidades
de texto, el acceso de este índice es por medio
de funciones especificas proveeidad por el motor
de Full Text.

(http://technet.microsoft.com/en-us/library/ms142571.aspx)
Índices XML/Spatial
XML Index: Se pueden crear en columnas de tipo XML, permite el acceso
por medios de funciones especializadas.
Spacial Index: Se pueden crear sobre columnas de tipo spatial, estas
columnas contiene datos de tipo geometry or geography, y permiten
operaciones especializadas con este tipo de datos.
Preguntas
Comunidad

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

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

http://www.elrincondesqlserver.com/

Mais conteúdo relacionado

Mais procurados

A) confiuracion del entorno de travajo de la base de datos en web
A) confiuracion del entorno de travajo de la base de datos en webA) confiuracion del entorno de travajo de la base de datos en web
A) confiuracion del entorno de travajo de la base de datos en web
Chaarly Fiiguerooa
 
Indice Proyecto de Inteligencia de Negocios
Indice Proyecto de Inteligencia de NegociosIndice Proyecto de Inteligencia de Negocios
Indice Proyecto de Inteligencia de Negocios
Pedro Chavez
 
Presentacion elementos basicos acces.
Presentacion elementos basicos acces.Presentacion elementos basicos acces.
Presentacion elementos basicos acces.
MartaDD
 
⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport
José Pedro Avila
 

Mais procurados (20)

base de datos
base de datosbase de datos
base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
A) confiuracion del entorno de travajo de la base de datos en web
A) confiuracion del entorno de travajo de la base de datos en webA) confiuracion del entorno de travajo de la base de datos en web
A) confiuracion del entorno de travajo de la base de datos en web
 
Base de datos
Base de datosBase de datos
Base de datos
 
Paolo garcia
Paolo garciaPaolo garcia
Paolo garcia
 
Base de datos ble nahun
Base de datos ble nahunBase de datos ble nahun
Base de datos ble nahun
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Indice Proyecto de Inteligencia de Negocios
Indice Proyecto de Inteligencia de NegociosIndice Proyecto de Inteligencia de Negocios
Indice Proyecto de Inteligencia de Negocios
 
Base de datos
Base de datos Base de datos
Base de datos
 
SDBD
SDBDSDBD
SDBD
 
Angie Mero-Principales características de Access que se necesita para elabora...
Angie Mero-Principales características de Access que se necesita para elabora...Angie Mero-Principales características de Access que se necesita para elabora...
Angie Mero-Principales características de Access que se necesita para elabora...
 
Presentacion elementos basicos acces.
Presentacion elementos basicos acces.Presentacion elementos basicos acces.
Presentacion elementos basicos acces.
 
Amazon simple db
Amazon simple dbAmazon simple db
Amazon simple db
 
Tatiana access
Tatiana accessTatiana access
Tatiana access
 
Principales Bsases de Datsos
Principales Bsases de DatsosPrincipales Bsases de Datsos
Principales Bsases de Datsos
 
Base de datos ble nahun
Base de datos ble nahunBase de datos ble nahun
Base de datos ble nahun
 
⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport
 
base de datos SQL y no-SQL
base de datos SQL y no-SQLbase de datos SQL y no-SQL
base de datos SQL y no-SQL
 
Actividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datosActividad de aprendizaje 4: base de datos
Actividad de aprendizaje 4: base de datos
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 

Destaque

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
Darwin Durand
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
nnakasone
 
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
SpanishPASSVC
 
Sql Saturday CR - Introducción al Optimizador
Sql Saturday CR - Introducción al OptimizadorSql Saturday CR - Introducción al Optimizador
Sql Saturday CR - Introducción al Optimizador
JOSE AHIAS LOPEZ PORTILLO
 

Destaque (20)

INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql server
 
Indexacion Y Asociacion
Indexacion Y AsociacionIndexacion Y Asociacion
Indexacion Y Asociacion
 
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
SqlSat247 Bogota - SQL Server Modo Tabular vs Modo Multidimensional - Pros y ...
 
Optimizacion De Consultas
Optimizacion De ConsultasOptimizacion De Consultas
Optimizacion De Consultas
 
Exchange server
Exchange serverExchange server
Exchange server
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012Indices columnares | SolidQ Summit 2012
Indices columnares | SolidQ Summit 2012
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
 
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
24 HOP edición Español - Planes de ejecución en sql server 2014 - Enrique Catala
 
Creacion de indices y constraints en sql server
Creacion de indices y constraints en sql serverCreacion de indices y constraints en sql server
Creacion de indices y constraints en sql server
 
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
Novedades en seguridad en SQL Server 2012 v1 | SolidQ Summit 2012
 
Escribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientementeEscribiendo código T-SQL eficientemente
Escribiendo código T-SQL eficientemente
 
Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8
 
Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012Creación de aplicaciones de bases de datos con MS SQL Server 2012
Creación de aplicaciones de bases de datos con MS SQL Server 2012
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimización
 
Sql Saturday CR - Introducción al Optimizador
Sql Saturday CR - Introducción al OptimizadorSql Saturday CR - Introducción al Optimizador
Sql Saturday CR - Introducción al Optimizador
 

Semelhante a WebCast de optimización Sql Server - Almacenamiento e Índices

Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
UTN
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
Yael_21
 

Semelhante a WebCast de optimización Sql Server - Almacenamiento e Índices (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Base de datos
Base de datos Base de datos
Base de datos
 
Base de datos
Base de datos Base de datos
Base de datos
 
Presentacion
PresentacionPresentacion
Presentacion
 
Tipos de base de datos
Tipos de base de datosTipos de base de datos
Tipos de base de datos
 
04 presentacion acosta_claudio
04 presentacion acosta_claudio04 presentacion acosta_claudio
04 presentacion acosta_claudio
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Creación de base de datos
Creación de base de datosCreación de base de datos
Creación de base de datos
 
Bases de Datos SQL y NoSQL
Bases de Datos SQL y NoSQLBases de Datos SQL y NoSQL
Bases de Datos SQL y NoSQL
 
Base de datos
Base de datosBase de datos
Base de datos
 
Conceptos Basicos Oracle
Conceptos Basicos OracleConceptos Basicos Oracle
Conceptos Basicos Oracle
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Base de datos
Base de datosBase de datos
Base de datos
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datosMS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
MS SQL Server 2014 - In-Memory ColumnStore Index - Haciendo un almacén de datos
 
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQLDesarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
 

Mais de JOSE AHIAS LOPEZ PORTILLO

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
 

Mais de JOSE AHIAS LOPEZ PORTILLO (20)

Mi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning StudioMi primer modelo de clasificación con Azure Machine Learning Studio
Mi primer modelo de clasificación con Azure Machine Learning Studio
 
Introducción Azure Synapse Analytics
Introducción Azure Synapse AnalyticsIntroducción Azure Synapse Analytics
Introducción Azure Synapse Analytics
 
002 - Introducción a DAX
002 - Introducción a DAX002 - Introducción a DAX
002 - Introducción a DAX
 
01 - DAX de principiante a experto con Power BI: Introducción a DAX
01 - DAX de principiante a experto con Power BI: Introducción a DAX01 - DAX de principiante a experto con Power BI: Introducción a DAX
01 - DAX de principiante a experto con Power BI: Introducción a DAX
 
Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.Instalación de Sql Server 2019 On-Premises.
Instalación de Sql Server 2019 On-Premises.
 
Mi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logísticaMi primer modelo de clasificación utilizando regresión logística
Mi primer modelo de clasificación utilizando regresión logística
 
70-761 Consultas de datos con Transact-SQL(SQL Server 2019)_Introducción
70-761 Consultas de datos con Transact-SQL(SQL Server 2019)_Introducción70-761 Consultas de datos con Transact-SQL(SQL Server 2019)_Introducción
70-761 Consultas de datos con Transact-SQL(SQL Server 2019)_Introducción
 
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
Exam 70-761 Querying Data with Transact-SQL: Ambiente parte 01
 
Introducción a Ciencia de datos con Microsoft
Introducción a Ciencia de datos con MicrosoftIntroducción a Ciencia de datos con Microsoft
Introducción a Ciencia de datos con Microsoft
 
Dax paso a paso con Power BI
Dax paso a paso con Power BIDax paso a paso con Power BI
Dax paso a paso con Power BI
 
Transformación Digital – Ciencia de datos el siguiente nivel
Transformación Digital – Ciencia de datos el siguiente nivelTransformación Digital – Ciencia de datos el siguiente nivel
Transformación Digital – Ciencia de datos el siguiente nivel
 
Sql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data WarehouseSql Saturday Guatemala 2018 - Azure SQL Data Warehouse
Sql Saturday Guatemala 2018 - Azure SQL Data Warehouse
 
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...
 
Fast and Furious: Discovering Windowing Function
Fast and Furious: Discovering Windowing FunctionFast and Furious: Discovering Windowing Function
Fast and Furious: Discovering Windowing Function
 
Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)
 
Preguntando a sql server con DMV
Preguntando a sql server con DMVPreguntando a sql server con DMV
Preguntando a sql server con DMV
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)
 
BI para todos
BI para todosBI para todos
BI para todos
 
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window FunctionsSQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
 
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
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

WebCast de optimización Sql Server - Almacenamiento e Índices

  • 1. WebCast de Optimización Sql Server Almacenamiento e Índices Expositor: Ahias Portillo elrincondesqlserver@gmail.com
  • 2. 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.
  • 4. Agenda • Fundamento de Almacenamiento • • • • Paginas Extents Tipos de paginas Organización de paginas • Índices • Definición • Tipos de índices
  • 6. Extents (Expert Performance Indexing For Sql Server 2012, Pagina 17)
  • 7. Tipos de Paginas • File header page • Boot page • Page Free Space (PFS) page • Global Allocation Map (GAM) page • Shared Global Allocation Map (SGAM) page • Differential Changed Map (DCM) page • Bulk Changed Map (BCM) page • Index Allocation Map (IAM) page • Data page • Index page • Large object (Text and Image) page
  • 8. File Header Page Es la primera pagina de cualquier archivo de datos, contiene información de metadatos sobre los archivos de base de datos. • • • • • • File ID File group ID Current size of the file Max file size Sector size LSN information
  • 9. Boot Page La pagina de inicio es similar Header page, ya que proporciona metadatos, con la diferencia que la información proporcionada es de la base de datos. • Nombre de base de datos • Identificador de Base De datos • Nivel de compactibilidad • Etc.
  • 10. Page Free Space Page(PFS) Con el fin de dar seguimiento de las paginas que tienen espacio disponible, para la inserción de filas, cada datafile contiene Page Free Space Page.
  • 11. Global Allocation Map Page(GAM)/ Shared Global Allocation Map Page(SGAM) • GAM: Es similar PFS. Esta pagina determina si un Extent esta disponible para su asignación a un exten uniforme. • SGAM: Es similar a GAM con la diferencia, que determina si el extent esta disponible para ser asignado a un extent Mixed.
  • 12. Differential Changed Map Page (DCM)/ Bulk Changed Map Page(BCM)) • DCM: Se utiliza para determinar si un GAM ha cambiado. Cuando una medida ha cambia de 0 a 1, estos bit se almacena en DCM. • BCM: Se utiliza para indicar cuando un intervalo de GAM han cambiado por operaciones de Bulk_logged.
  • 13. Index Allocation Map Page(IAM) La anteriores paginas estaban relacionadas a Metada de almacenamiento. Una de las cosas mas importante que debe saber Sql Server es saber si una pagina esta asociada a una tabla o índice, la pagina que proporciona esta información es IAM. Cada Tabla o índice comienza primero con una pagina IAM.
  • 14. Data Page/Index Page/Large Object Page • Data Page: Las paginas de datos se utilizan para almacenar los datos y son los tipos de paginas mas comunes en todas las base de datos. • Index Page: Estas paginas proporcionar información de la estructura y donde las paginas de datos se encuentran. • Large Object Page: A diferencia de las paginas de datos que están limitadas a 8kb. Existe algunos tipos de datos cuyo tamaño máximo es de 2gb, para ellos se requiere un tipo de almacenamiento distinto.
  • 15. Organizing Pages • Heap • B-Tree • Columnar
  • 16. HEAD Es una estructura de datos que almacena la posición física en la que se almacenó cada nueva fila dentro de las páginas asignadas a la tabla. (Cuando no existen índices) (http://technet.microsoft.com/en-us/library/aa964133(v=sql.90).aspx)
  • 17. B-Tree Es una estructura utilizada para la indexación, y se utiliza tanto para índices Clustered y NonClustered. El B-Tree organiza los datos en una jerarquía de árbol inverso. (http://www.terrymarshall.com.au/Blog/tabid/162/EntryId/156/SQLServer-2012-Columnstore-Indexes.aspx)
  • 18. Column Store Structure Es una nueva estructura de almacenamiento introducida con Sql Server 2012, y organiza los índices de una forma tabular y por fila. (http://www.terrymarshall.com.au/Blog/tabid/162/EntryId/156/SQLServer-2012-Columnstore-Indexes.aspx)
  • 19. Table Scan • Realiza un recorrido de todo los registros en una tabla hasta encontrar el valor seleccionado. • Generan altos costos de procesamiento. (http://www.codeproject.com/Articles/55505/SQL-Query-OptimizationFAQ-Part-1-With-video-expla)
  • 20. ¿Que es un Índice? • Es una estructura de almacenamiento de datos que permite el acceso eficiente a ellos, por medio de columnas o conjuntos de columnas que sirven como diccionarios.
  • 21. Tipos de Índices • Clustered • NonClustered • Columnares • Indices Especiales • Full Text • XML • Spatial
  • 22. Clustered Los Clustered Indexes son índices que controlan el orden físico de las filas en la tabla, por lo cual solo puede existir uno para cada tabla. (http://technet.microsoft.com/en-us/library/cc917624.aspx)
  • 23. NonClustered Los Non-Clustered indexes son índices que mantienen un sub conjunto de las columnas de la tabla en orden. Estos índices no modifican el orden de las filas de la tabla, en lugar de esto mantienen una lista ordenada de referencias a filas de la tabla original. (http://technet.microsoft.com/en-us/library/cc917624.aspx)
  • 27. Columnar SQL Server 2012 introduce los índices columnares, los cuales aceleran la ejecución de consultas con grandes cantidades de datos, especialmente para los Almacenes de Datos o Data Warehouse. La ventaja de los índices columnares es que leen de disco únicamente las columnas necesarias para resolver la consulta, lo cual acelera el proceso de obtención de datos de disco, éstas columnas son almacenadas de forma compresa en el disco duro, lo cual disminuye las operaciónes de IO, y por lo tanto se obtienen los datos más rápidamente. (http://ecastrom.blogspot.com/2012/07/column-store-index-en-sql-server-2012.html)
  • 29. Full Text Es un índice especialidado para realizar consultas sobre campos que contienen grandes cantidades de texto, el acceso de este índice es por medio de funciones especificas proveeidad por el motor de Full Text. (http://technet.microsoft.com/en-us/library/ms142571.aspx)
  • 30. Índices XML/Spatial XML Index: Se pueden crear en columnas de tipo XML, permite el acceso por medios de funciones especializadas. Spacial Index: Se pueden crear sobre columnas de tipo spatial, estas columnas contiene datos de tipo geometry or geography, y permiten operaciones especializadas con este tipo de datos.