40
Conociendo los cambios de SQL Server a partir de 2012 a 2016 Jose Redondo Microsoft Data Platform MVP Latam

Conociendo los cambios de SQL Server a partir de 2012 a 2016

Embed Size (px)

Citation preview

Page 1: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Conociendo los cambios de SQL Server a partir de 2012 a 2016

Jose RedondoMicrosoft Data Platform MVP Latam

Page 2: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Quien soy?

Jose RedondoData Platform MVP Latam | Arquitecto de datos | Experto en soluciones de Inteligencia de Negocio y Bodegas de datos | Consultor | Conferencista Microsoft en Latinoamérica y USA

Amante del compartir el conocimiento tecnológico y la buena cultura

Twitter: @redondojLinkedIn: linkedin.com/in/redondojBlog: redondoj.wordpress.comE-Mail: [email protected]

Page 3: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Agenda• Introducción• Posicionamiento en el

mercado• Motor de base de datos• Servidor de reportes• Servicio R

Page 4: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Introducción• Edición 32 bits – ADIOS…• SQL Server Management

Tools Installation se efectúa separadamente de la instalación del servidor• SQL Server Developer

Edition es FREE…• Actualizable sin problemas

desde el SP3 de SQL Server 2008

Page 5: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Opin

ione

s del

mer

cado

Pros Holdings utilizan actualmente SQL Server 2016 anunciando el superior rendimiento del servidor así como del servicio R incorporándolo en sus actividades de analítica avanzada teniendo como resultado una ejecución 100x veces de rapidez.

Carga de complejos esquemas derivados desde TPC-H a unos 1.6TB/hora, tardando solo 5.3 segundos para ejecutar una consulta compleja (El mínimo coste provisto por el query) en una base de datos de 100TB.

Por seis años consecutivos, SQL Server ha tenido menos vulnerabilidades en comparación con las principales plataformas de bases de datos según reporte de NIST.

Page 6: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Posicionamiento en el mercado

Page 7: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Motor de base de datos• Que es lo novedoso y

atractivo desde la versión 2012 hasta la actual• Características mejoradas

en el motor de datos• T-SQL• Vistas del sistema• Seguridad• Alta disponibilidad• Replicación• Herramientas

Page 8: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Que son los índices de almacenamiento columnar

Almacenamiento columnar

y sus nuevas características

Procesamiento por lotes

Optimización de memoria

Compresión

Grupo de registro y eliminación de segmentos

A B C DA B C DA B C D

A B C DA B C DA B C D

A B C DA B C DA B C D

AAAAAAAAA

Page 9: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Que son los índices de almacenamiento columnar y sus nuevas características

• Ejecución por lotes para consultas multi-threaded

• Ejecución por lotes para consultas single-threaded

• Opción de compresión de archivo• Aislamiento de instantánea y de read-

committed• Especificar los índices de almacenamiento

columnar cuando se crea una tabla• AlwaysOn soporta ColumnStore Indexes• AlwaysOn Readable Secondary admite

solo lectura en Nonclustered ColumnStore Index

• AlwaysOn Readable Secondary admite actualizaciones de los ColumnStore Indexes

Page 10: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Que son los índices de almacenamiento columnar y sus nuevas características• Índice de almacenamiento columnar de

solo lectura en Heap o BTree• Índice actualizable de almacenamiento

columnar agrupados en Heap or BTree• Índice BTree adicionales son permitidos

en Heap o BTree que tiene un índice no agrupado Nonclustered ColumnStore Index

• Índice actualizable Clustered ColumnStore Index

• Índice BTree en un Clustered ColumnStore Index

• Índice de almacenamiento columnar en una tabla de memoria optimizada

• Definición de índice Nonclustered ColumnStore apoya el uso de condiciones de filtrado

• Opción de retardo de compresión para ColumnStore Indexes en los comandos T-SQL CREATE TABLE y ALTER TABLE

Page 11: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Introducción a InMemory-OLTP

Nosotros donde estamos pasando mas tiempo ejecutando procesos?Aquí estan los resultados del análisis de Microsoft

I/O, Thread Management Storage Engine Relational Engine Communicatio

n Stack

10% 80% 10%Access Methods, Transaction, Lock,

Log, Managers

T-SQL Interpreter, Query Execution,

Expressions

Page 12: Conociendo los cambios de SQL Server a partir de 2012 a 2016

2000 2000 2001 2001 2002 2003 2004 2006 2007 2007 2008 2009 2010 2011 2012 2013 20140

200

400

600

800

1000

1200

1400

1600

1800

$/1000 Mb

$/1000 Mb

SQL 2005SQL 2008 R2

SQL 2008 SQL 2012SQL 2014

SQL 2000

Introducción a InMemory-OLTP

Page 13: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Introducción a InMemory-OLTP• Llamado

inicialmente Proyecto “Hekaton”• Disponible desde la

versión 2014• Mejorada en 2016

Page 14: Conociendo los cambios de SQL Server a partir de 2012 a 2016

ArquitecturaClient Application

Tabular Data Stream (TDS) Handler / Session Management

T-SQL Execution

Buffer Pool for Tables and

Indexes

Parser, Catalog

and Optimizer

InMemory Native

Compiler

Storage Engine for Memory Optimized Tables and Indexes

Native Compiled

Stored Procedures and

Schema

Sqlserv.exe

Memory Optimized

Table Filegroup

Transaction Log Data Filegroup

Generated DLL

InMemory Component

Existing SQL Component

Checkpoint Files / Recovery

Query interoperabili

ty

Page 15: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Introducción a InMemory-OLTPPorque es mas rápido?

Objetos compilados• Evita los pasos de compilación de código interpretado.

Page 16: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Introducción a InMemory-OLTPMejoras

• Soporta 2TB de durabilidad en tablas (Versión 2014 -> 256GB)

• LOBs con tamaño de la gran filas de registros de una tabla de memoria optimizado

• Mejoras de Transact-SQL para las tablas de memoria optimizado• Índices UNIQUE, referencias de FOREIGN KEY, Restricciones CHECK,

TRIGGERs• Un índice non-unique puede permitir valores NULL en la clave• Mayor soporte para tablas de Altering Memory-Optimized• Compilación escalar UDFs de forma nativa, {LEFT|RIGHT} OUTER

JOIN, Disyunción (OR, NOT)

• Cláusula OUTPUT en procedimientos almacenados nativamente compilados

• Menor tiempo de inactividad durante la actualización• Soporte para TDE

Page 17: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Query Store

Page 18: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Query Store• Soporte para código nativo

compilado desde cargas de trabajo In-Memory OLTP

• Automáticamente captura un historial de consultas, planes y estadísticas de tiempo de ejecución y conserva estas para su revisión posterior

ALTER DATABASE WideWorldImportersDW SET

QUERY_STORE = ON;

Page 19: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Live Query Statistics

Page 20: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Tablas Temporales

• Tabla Temporal consiste en dos tablas, una para datos y otra para los datos históricos

• Es nuevo tipo de tabla de usuario en SQL Server 2016

• Auditar todos los cambios• Reconstruir el estado de los

datos a partir de cualquier momento en el pasado

Page 21: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Tablas Temporales• Cálculo de tendencias en

el tiempo• Mantener Slowly

Changing Dimension para aplicaciones de soporte de decisiones

• Recuperación de cambios de datos accidentales y errores de aplicación

Page 22: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Row Level Security

Row-Level Security - RLS (Seguridad de nivel de fila) restringe que los usuarios puedan ver datos específicos en una tabla, basado en una función

Page 23: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Row Level Security

Page 24: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Row Level Security

Page 25: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Always Encrypted• Datos cifrados en caliente

y en reposo• Mejor que TDE, se cifran

para todos los usuarios, incluso los administradores.

• Encriptación Determinista o Aleatorio

• Versión 4.6 o superior de .Net Framework

Todas las claves de cifrado reside con la aplicación en el entorno del cliente y no en el servidor

Page 26: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Dynamic Data Masking

Page 27: Conociendo los cambios de SQL Server a partir de 2012 a 2016

{JSON} - (JavaScript Object Notation)

4 Funciones nativas• ISJSON – Comprueba si una cadena contiene JSON

válido• JSON_VALUE – Extrae el valor de JSON• JSON_QUERY – Extrae las Subconsultas de JSON• OPEN_JSON – Tabla de función que analiza texto JSON

y devuelve rowsetview de JSON

Select IsJSON('{"name":“Jose",“family":“Redondo","age":33}')

Select * from OpenJSON('{"name":“Jose",“family":“JoseRedondo","age":33}

‘)

Page 28: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Stretch Database

Page 29: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Real-time Operational AnalyticsIn-Memory ColumnStore + In-Memory OLTP = Real-time Operational Analytics

Page 30: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• El tamaño de clave de índice máximo para los índices no agrupados se ha aumentado a 1700 bytes

• El comando TRUNCATE TABLE ahora permite el truncamiento de particiones especificados

• ALTER TABLE permite ahora que muchos cambios para la modificaciones de columna se puedan realizar mientras la tabla sigue estando disponible

• El índice de texto completo (Full-Text Index - DMV) "sys.dm_fts_index_keywords_position_by_document" devuelve la posición de palabras claves en los documentos

• Una nueva sugerencia de consulta NO_PERFORMANCE_SPOOL puede impedir que un operador se agregue a los planes de consultas

Mejoras en Transact-SQL

Page 31: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• Nueva sintaxis de DROP IF se agrega para instrucciones de eliminación

• SESSION_CONTEXT ahora se puede establecer con EXEC sp_set_session_context 'user_id', 4; Seleccione SESSION_CONTEXT(N'user_id');

• Nuevos comandos para la manipulación de las cadenas de texto: STRING_SPLIT y STRING_ESCAPE

• Las funciones de COMPRESS y DECOMPRESS convierten valores dentro y fuera del algoritmo GZIP

• Nuevos comandos para la manipulación de las funciones de fechas y horas: DATEDIFF_BIG y AT TIME ZONE, y la función sys.time_zone_info

• Ocho nuevas propiedades se agregan a SERVERPROPERTY

• Se elimina el límite de longitud de entrada de 8.000 bytes para la función HASHBYTES

Mejoras en Transact-SQL

Page 32: Conociendo los cambios de SQL Server a partir de 2012 a 2016

PolybasePolyBase es una tecnología que accede y combina los datos tanto relacionales como no relacionales internamente en SQL Server

SELECT * FROM dbo.DatosRFIDI95 WHERE Speed > 75 OPTION (FORCE EXTERNALPUSHDOWN);

Page 33: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• Striped Backups para Microsoft Azure Blob Storage

• File-Snapshot Backups para Microsoft Azure Blob Storage

• Copias de seguridad administradas• Replicación es ahora soportada para

Azure SQL Database• Stretch Database• Migra los datos históricos de forma

transparente y segura a la nube en Microsoft Azure

• Comportamientos de Trace Flag 4199 están habilitados

Otras características

Page 34: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• No es necesario usar Trace Flag 4199 en SQL Server 2016 ya que se puede realizar desde el optimizador de consultas

• TempDB Database• Limite en las relaciones del Foreign Key• El límite para el número de tabla y

columnas que pueden hacer referencia en las consultas en una sola tabla paso de 253 a 10.000

• Soporte para UTF-8• Utilidad BCP, BULK INSERT, y

OPENROWSET ahora son soportados por el paginado de código UTF-8

• CPU mas amigable para la Transparent Data Encryption

• AES Encryption para Endpoints• Database Scoped Credential• Replicación de las tablas optimizadas en

memoria

Otras características

Page 35: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• SQL Server Standard Edition de 2016 ahora apoya la disponibilidad de grupos básicos

• Equilibrio de carga de las solicitudes de conexión read-intent es ahora soportado en un conjunto de réplicas de sólo lectura

• El número de réplicas que admiten la conmutación por error automática se ha aumentado de dos a tres

• Group Managed Service Accounts son compatibles para Always On Failover Clusters

Alta disponibilidad

Page 36: Conociendo los cambios de SQL Server a partir de 2012 a 2016

• Always On Availability Groups admite transacciones distribuidas y el DTC en Windows Server 2016

• Ahora puede configurar siempre en la disponibilidad Always On Availability Groups de failover cuando una base de datos está offline

• Always On ahora soporta bases de datos cifradas

• Dos grupos de disponibilidad en dos separados Windows Server Failover Clusters (WSFC) ahora se pueden combinar en un Distributed Availability Group

• Direct seeding permite una réplica secundaria a ser establecida automáticamente sobre la red

Alta disponibilidad

Page 37: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Servidor de reportes• Nuevo Portal Web de

Reporting Services• Marca personalizada para

el portal web• Indicadores clave de

rendimiento (KPI) en el Portal Web

• Mobile Reports• Mobile Report Publisher• PDF sustituye a ActiveX

para Remote Printing• Exportación a PowerPoint• Elementos Pin Report para

Power BI Dashboard• Motor HTML 5

Page 38: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Servicio RPodemos continuar trabajando con las herramientas R o de SQL de nuestra elección PERO el análisis a la escala a miles de millones de registros sin hardware adicional, mejora el rendimiento y evitar los movimientos innecesarios de datos

Page 39: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Preguntas & Respuestas

Page 40: Conociendo los cambios de SQL Server a partir de 2012 a 2016

Gracias por su asistenciaMicrosoft SQL Server 2016