Registros de transacciones de SQL Server en la nube


8

Es una práctica común colocar los registros de transacciones ( *.ldf) en un sistema de disco físico separado que los archivos de la base de datos ( *.mdf, *.ndf).

En un entorno de nube de máquina virtual, ¿está bien poner los registros de transacciones en la misma letra de unidad que los otros archivos de datos? ¿Cómo se maneja esto en los entornos populares de máquinas virtuales en la nube de hoy?

NOTA: No se usa SQL Azure. Usando una máquina virtual de Windows con acceso completo.


1
Si está hablando de Azure, no creo que realmente tenga ningún control sobre la ubicación de los archivos, o incluso la visibilidad en el sistema de disco subyacente. Dicho esto, no creo que sea muy inteligente por parte de Microsoft violar las mejores prácticas y colocar datos y archivos de registro en el mismo disco, especialmente dada la sobrecarga de escritura adicional inherente a la plataforma.
Aaron Bertrand

Aclarado: no se usa SQL Azure. Usando una máquina virtual de Windows completa, la ubicación del registro de transacciones depende de mí.
Jason Kresowaty

1
Entonces, si tiene varios volúmenes independientes accesibles para su máquina virtual, ¿por qué cree que las consideraciones de ubicación de registro serían diferentes para una máquina virtual frente a una máquina física?
Aaron Bertrand

Supongo que uno necesita conocer las recomendaciones del proveedor en particular para responder con certeza. Supongo que me gustaría algunas ideas generales sobre lo que la gente realmente ha estado haciendo a este respecto con los vendedores populares de la nube.
Jason Kresowaty

1
Entonces, ¿de qué estamos hablando aquí? ¿Una VM alojada por usted en el hardware y el almacenamiento que controla o una VM alojada por un proveedor de la nube como Azure o EC2?
Mark Storey-Smith

Respuestas:


4

En mis extensas pruebas de SQL en la nube en servidores en la nube (nube de espacio en rack, para ser específicos), descubrí que dividir ldf y mdf en distintos volúmenes de almacenamiento en bloque mejoró significativamente el rendimiento. Logré un rendimiento realmente excelente colocando el ldf en un volumen de almacenamiento en bloque basado en SSD y el mdf en un volumen de almacenamiento en bloque estándar.

En última instancia, por supuesto, un volumen de almacenamiento en bloque es una SAN compartida en algún lugar. Y el almacenamiento local de "instancias" está en el propio hipervisor. Por lo tanto, la topología de hardware de su entorno de nube determinará qué configuración funcionará mejor.


2

Depende del entorno de nube que esté utilizando, pero normalmente tiene sentido colocarlos en la misma unidad lógica. Si necesita IOPS adicionales, puede dividir en varios volúmenes pero presentar una sola unidad.

En un entorno de nube, usted no es el único consumidor del almacenamiento que se le asigna. Obtiene una pequeña porción de un pastel muy grande y, como tal, todo IO es de naturaleza aleatoria. No se gana nada al tratar de separar el acceso secuencial (registro) de los datos aleatorios.

Tampoco se gana nada desde el ángulo de recuperación, ya que no puede insistir en que los dos volúmenes se asignarán desde diferentes matrices. Además, tiende a existir una clase diferente de protección para la disponibilidad de almacenamiento de los grandes jugadores. El almacenamiento de Azure, por ejemplo, se replica tres veces dentro del centro de datos, con una copia adicional replicada en un centro de datos de conmutación por error de forma predeterminada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.