Optimizaciones «boomerang»

Optimizaciones «boomerang»

En ocasiones nos encontramos situaciones bastante anómalas que requieren análisis “think out of the box” por llamarlos de alguna forma. En este caso vamos a tratar un escenario que hemos llamado optimizaciones «boomerang» donde podemos encontrarnos que tras optimizaciones (indexación, parametrización, reescritura de queries, etc.) el consumo global de CPU disminuye y, contrariamente a lo previsto, los tiempos de ejecución de ciertos procesos aumentan.

(más…)

Azure SQL Database Serverless

Azure SQL Database Serverless

Una de las últimas novedades que Microsoft nos ha presentado en Azure es Azure SQL Database Serverless. Esta es una funcionalidad que muchos entornos, especialmente de desarrollo, testing, han estado demandando desde hace tiempo. También debemos tener en cuenta que esta funcionalidad existía en competidores como Amazon Aurora Serverless desde hace un tiempo por lo que era algo natural que MS ofreciera algo similar.

(más…)

Planes de ejecución mutables

Planes de ejecución mutables

En general casi todos los DBAs de SQL Server tienen grabadas a fuego las fases por las que pasamos desde que lanzamos una consulta hasta que comienza su ejecución. El proceso básicamente arranca con un paseo inicial, donde detectaremos por ejemplo los errores de sintaxis. A continuación, se validará que los objetos referenciados existen, que los tipos de datos encajan, etc. (metadata) y comenzaremos la fase de optimización. Esta fase de optimización puede ser eludida si previamente tenemos un plan ya cacheado, pero en todo caso tras la optimización obtendremos un plan de ejecución válido que podremos ejecutar:

(más…)

No, no todas las máquinas virtuales son iguales

No, no todas las máquinas virtuales son iguales

Es muy habitual que nos encontremos en nuestros clientes situaciones de lo más variopintas en cuanto al rendimiento de las máquinas virtuales con SQL Server. En muchos casos lo que encontramos son casos donde el rendimiento está lejos del ideal, pero en general la virtualización en sí, no tiene la culpa. Lo que suele ocurrir es que cuando virtualizamos un SQL Server que teníamos en máquina física pasamos a disponer de una cantidad máxima o puntual de recursos (CPU/memoria/IO) sustancialmente distinta a las que teníamos en la máquina física. (más…)

Latencias de red < 1ms, ¿es suficiente para un buen rendimiento de SQL Server?

Latencias de red < 1ms, ¿es suficiente para un buen rendimiento de SQL Server?

Poco a poco, a medida que el almacenamiento se vuelve más rápido, va popularizándose el almacenamiento SSD local, etc. los tiempos de acceso a disco van bajando sustancialmente. El máximo exponente en este sentido lo encontramos en sistemas con SSDs Optane que se caracterizan por tener unas latencias de lectura/escritura mucho más bajas que los SSD tradicionales y además ir directamente conectados al bus PCIe: (más…)

La latencia, el archienemigo de los entornos Hybrid Cloud

La latencia, el archienemigo de los entornos Hybrid Cloud

En los últimos años vamos viendo cada vez más entornos híbridos donde algunos SQL Server se desplazan a la nube. En estos escenarios otras aplicaciones, servicios, ERPs o incluso otras instancias SQL Server siguen viviendo OnPremise en el datacenter original. Esta situación implica que cuando existan conexiones entre ambos entornos, las conexiones tendrán, en comparación con las conexiones que no crucen entre entornos, restricciones de ancho de banda y latencias mayores. (más…)

Azure Files Premium + SQL Server Failover Cluster instance= OnPremise to Cloud simplificado

Azure Files Premium + SQL Server Failover Cluster instance= OnPremise to Cloud simplificado

Uno de los problemas que muchos clientes se encuentran al intentar migrar instancias OnPremise a Cloud es la ausencia de un «storage compartido» sencillo. Existen alternativas, apoyadas en software de terceros o bien soluciones SDS, que nos permiten configurar una instancia Failover Cluster en Azure pero no están exentas de complejidad y añaden bastante coste al TCO de la solución. (más…)

Demos la bienvenida a los grafos en SQL Server 2017

Demos la bienvenida a los grafos en SQL Server 2017

El aumento de las necesidades de análisis basado en relaciones hace que el uso de grafos esté aumentando. La existencia de bases de datos orientadas a grafos no es nueva ya que en los años 90 existían alternativas maduras pero que han tenido un uso relativamente marginal hasta ahora. Estas bases de datos se caracterizan por su flexibilidad de esquema en lo que a las relaciones entre entidades se refiere. El concepto de triples compuestos por un sujeto, un predicado o verbo y un objeto es la base de almacenamiento de estas bases de datos. El lenguaje de consulta para este tipo de bases de datos también es propio (SPARQL) y tiene ciertas similitudes con el SQL. Podéis obtener más información https://www.w3.org/RDF/ y en https://www.w3.org/TR/sparql11-query/.

(más…)

Estadísticas supersíncronas

Estadísticas supersíncronas

En nuestro día a día cuando hablamos de estadísticas en SQL Server casi siempre nos centramos en la necesidad de su mantenimiento periódico, a la recomendación de mantener activas las actualizaciones automáticas de estadísticas y, salvo en ciertos casos, las ventajas de la actualización asíncrona de estadísticas. (más…)