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…)

Backups y restores “al vuelo” sin almacenamiento intermedio

Backups y restores “al vuelo” sin almacenamiento intermedio

Seguramente los más “senior” recordarán la posibilidad que existía en versiones SQL Server antiguas de realizar backups utilizando named pipes. Cuando hablo de versiones antiguas, me refiero a “antiguas de verdad”, ya que esta funcionalidad fue marcada como obsoleta en SQL Server 7, se mantuvo en SQL 2000 pero ya se eliminó de SQL Server 2005 y posteriores. (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…)

Combinando NGrams y FullText Search

Combinando NGrams y FullText Search

Con bastante frecuencia nos encontramos que nuestros clientes sufren problemas de rendimiento debido a filtros sobre campos de texto. Es bastante habitual que se quiera permitir filtrados “libres” sobre textos, descripciones, documentos, etc. pero no se tenga en cuenta que, en función del patrón de búsqueda, esto puede ser bastante pesado para SQL Server. (más…)

Cazando vampiros de memoria en SQL Server

Cazando vampiros de memoria en SQL Server

Un recurso muy valioso para cualquier motor de base de datos es la memoria. Esta memoria se utilizará con muchos fines, destacando especialmente el cacheo de páginas/segmentos de datos, así como planes de ejecución. También se necesitará memoria para la propia ejecución de las consultas, para mantener temporalmente los buffers necesarios para el procesamiento de los datos, para su ordenación, para almacenar tablas hash, etc. Desgraciadamente no existe un punto único desde donde podamos determinar y diagnosticar todos los consumos de memoria independientemente de su naturaleza por lo que al final tendremos que ir analizando desde un punto de vista más alto hasta uno más bajo para poder poner el dedo exactamente en la llaga que origina el dolor al servidor. (más…)