Microsoft SQL Server 2012 Denali ¿Cuales son sus novedades?

Ya falta muy poco para el lanzamiento de la nueva versión de SQL Server. El pasado 12 de octubre en el PASS Summit 2011, Microsoft confirmó que el nombre comercial será SQL Server 2012, que ya se encuentra en la etapa final de producción y que su lanzamiento será en el primer semestre de 2012.

Conviene por tanto ir familiarizándonos con las novedades que nos va a traer este producto para poder sacarle partido desde el primer momento. Vamos a repasar algunas de las más interesantes.

Alta disponibilidad

A las características que ya teníamos en versiones anteriores para conseguir que nuestros datos estuviesen siempre accesibles y protegernos de pérdidas de datos, como son replicación, log shipping, mirroring, clustering, etc… se añaden nuevas características.

AlwaysOn Availability Groups

Se trata de una evolución de Database Mirroring, con esta nueva característica, lo que definimos son “grupos de disponibilidad”, es decir ya no estamos hablando de garantizar la disponibilidad de una sola base de datos como en mirroring, sino de un grupo de ellas que en caso de fallo del servidor principal tendrá conmutación por error en bloque al servidor secundario. Los servidores secundarios de ese grupo de base de datos pueden configurarse como síncronos o asíncronos o una mezcla de ellos, hasta 4 si son asíncronos y 2 en caso de síncronos y podremos definir por cada secundario la conmutación por error automática o manual y el tipo de conexiones que permitimos cuando está en modo secundario.

AlwaysOn Availability Groups

Otra ventaja de este tipo de configuración es que las bases de datos así configuradas, serán capaces de reparar automáticamente una página de datos que detecte corrupta por fallos del sistema o de disco, ya que es capaz de solicitar esa página de datos a las instancias secundarias y reemplazarla por una copia buena.

AlwaysOn Failover Cluster Instances

Es una mejora del SQL Failover Clustering, permite una configuración más sencilla, soporta la configuración de más de 26 instancias en un solo cluster simplificando la administración y soporta multi-site clustering a través de subredes lo que permite tener clusters alojados en diferentes datacenters.

AlwaysOn Active Secondries

Se puede utilizar las instancias secundarias para atender las conexiones de sólo lectura como consultas para informes o realización de copias de seguridad, repartiendo así la carga de trabajo y mejorando el rendimiento del servidor principal.

Para configurar cualquiera de estas dos características de AlwaysOn, necesitaremos que las instancias de SQL Server que vayamos a utilizar estén alojadas en un nodo de Windows Server Failover Clustering(WSFC), o sea que tendrá que ser Windows Server 2008 o superior y con esta característica configurada.

Soporte para Windows Server Core

Esta versión de SQL Server tiene soporte para ser instalada en esta versión de Windows cuya principal ventaja es que reduce el tiempo de inactividad del servidor por actualizaciones del sistema operativo en un 50-60% maximizando así su disponibilidad.

Database Recovery Advisor

Database Recovery AdvisorA la hora de restaurar una base de datos, el proceso puede ser muy sencillo si sólo tenemos una copia completa que restaurar o puede complicarse a medida que tenemos un conjunto de copias diferenciales, del log, en diferentes dispositivos de copia, etc… Lo que introduce SQL Server 2012 es una herramienta que bajo la apariencia de la ventana de restauración que siempre hemos utilizado, nos va a ayudar a decidir cuál es la secuencia de restauración correcta para obtener los datos en el punto concreto que queremos. Por defecto siempre nos sugerirá la restauración hasta llegar al estado final, pero gráficamente podremos indicar en una barra de “timeline” en qué punto queremos los datos y el asistente nos seleccionará los diferentes backups que debemos restaurar para llegar a ese punto.

 

Mejora de rendimiento

Índices ColumnStore (Proyecto “Apollo”)

Esta nueva versión introduce un nuevo tipo de índices que van a servir para acelerar las consultas de data warehouse. Según las estimaciones de Microsoft, en algunos casos concretos se puede obtener una mejora del rendimiento de este tipo de consultas de cientos a miles de veces, y de manera habitual se puede obtener un aumento de velocidad de 10x en una amplia gama de consultas que entren en el escenario de utilización de este nuevo tipo de índices.

Índices ColumnStore Proyecto Apollo

 

 

¿De dónde viene ese rendimiento? la base de esta característica está en la nueva forma de almacenamiento que utiliza este índice. Tradicionalmente SQL utiliza un almacenamiento por filas dentro de las páginas de datos, este nuevo tipo de índices utiliza almacenamiento por columnas dentro de las páginas de datos, es decir cada página contiene sólo datos de una sola columna.

Los beneficios de esta estructura son que sólo las páginas que contienen las columnas necesarias para resolver la consulta son leídas de disco, es más fácil comprimir los datos debido a la redundancia de los datos dentro de una columna y se consigue un factor de compresión mucho mayor y esto provoca que el ratio de uso de caché sea mucho mayor ya que la columnas frecuentemente usadas permanecen en memoria mientras las que no se usan no están.

El uso de estos índices será mayoritariamente para tablas de data warehouse e históricos ya que en el momento que a una tabla le creamos un índice de este tipo pasa a ser de solo lectura, no se pueden modificar sus datos salvo que se deshabilite el índice y se vuelva a generar una vez realizados los cambios, o se trate de una tabla particionada y el índice este alineado con las particiones de forma que no afecte a la que se va a modificar.

 

Business Intelligence

Power View (Proyecto “Crescent”)

Power View Proyecto “Crescent”

Se trata de una nueva característica que trae Reporting Services en esta versión que pretende introducir el concepto de “autoservicio” al mundo de BI, la idea es que el usuario final pueda realizarse sus propios informes y presentaciones interactivas con unos pocos clicks. Todo el entorno está basado en web por lo que tanto el diseño como la presentación se realizan desde el explorador web y Microsoft tiene previsto que estas presentaciones interactivas se puedan consultar desde multitud de plataformas incluyendo dispositivos móviles. De hecho en el pasado PASS Summit 2011 mostró ejemplos de dispositivos móviles como iPad2 y tablet con Android ejecutando un app que explotaba presentaciones de PowerView.

Para llegar a poder crear este tipo de informes, por debajo hay que configurar el servidor de Reporting Services conectado a un servidor de Sharepoint y haber preparado previamente el modelo de datos que se expone a los usuarios finales.

Reporting Services End User Alerting

Informes business intelligence en SQL Server 2012

Permite a los usuarios definir alertas basadas en condiciones sobre cambios en los datos de sus informes de forma que puedan reaccionar de manera ágil a situaciones que ellos definan. Disponible cuando se trabaja con informes de Reporting Services publicados en un servidor Sharepoint.

 

Desarrollo

SQL Server Developer Tools (Proyecto “Juneau”)

SQL Server Developer ToolsEn esta nueva versión de las herramientas de desarrollo para SQL Server contamos con un entorno más potente e integrado con Visual Studio 2010 y con un proyecto de base de datos mejorado que nos va a permitir desarrollar y probar la base de datos, tanto de forma conectada como desconectada con su modelo local, integración con control de código fuente y diseño de objetos tanto en vista diseño como en vista código.

En esta versión se le ha dado mucha importancia a la posibilidad de trabajar contra servidores activos de forma que es posible configurar nuestro proyecto para que al compilar los cambios se apliquen directamente sobre el servidor de desarrollo que le hayamos configurado.

SQL Server Express LocalDB

Se trata de una nueva versión de SQL Express pensada especialmente para desarrolladores, que permite trabajar con el motor de sqlserver sin necesidad de tener instalada una instancia con sus servicios asociados. Simplemente se instalan los archivos y dlls necesarios y cuando se establece una conexión con una cadena similar a esta :

"Data Source=(localdb)v11.0;Integrated Security=true;AttachDbFileName=C:MyDataDatabase1.mdf"

El proveedor de conexión comprueba primero si la instancia de localdb para el usuario está arrancada y en caso de no estarlo la arranca y establece la conexión, si la cadena de conexión contiene la cláusula “AttachDBFileName” como en el ejemplo, al mismo tiempo que realiza la conexión adjunta la bd indicada de manera que ya podemos trabajar con ella.

Cuando pasan unos minutos después de que se cierren todas las conexiones establecidas contra la instancia localdb, automáticamente la instancia se cerrará para no consumir recursos.

Con esto hemos repasado algunas de las principales novedades y mejoras que nos va a traer SQL Server 2012, para profundizar en estas y otras características se puede consultar la web oficial de la nueva versión.

Sobre Máximo López

Analista programador de aplicaciones en Clavei

1 comentario
  1. fabiola
    fabiola says:

    tendrá muchos cambios diferente al 2008 estoy ansioso de que ya por fin salga a la luz para poder ver las diferencia o la actualización han echo a dicho programa

Los comentarios están desactivados.