Etiqueta: IMDB

Cómo optimizar el rendimiento de un servidor de bases de datos con memoria RAM

Kigston RAMPor Oscar Martínez*

Aunque la mayoría de las personas no se fijan en ello, el mundo funciona sobre diversos tipos de bases de datos que, si bien pueden ser muy diferentes entre ellas, tienen una cosa en común: la necesidad de utilizar memoria de alto rendimiento para entregar los datos de manera rápida y confiable.

En nuestra vida cotidiana interactuamos cada vez más con las bases de datos. Por ejemplo, desde el momento en que nos despertamos con una llamada telefónica, ésta se procesa por la base de datos de registro de clientes que tiene el proveedor de servicios de telefonía; las compras electrónicas semanales también se procesan por la base de datos de transacciones del banco; o bien, cuando se nos presenta una base de datos con recomendaciones de nuevos títulos de películas, según el historial de compras en línea de filmes que se tenga.

En todos los casos, las bases de datos que atienden muchas de nuestras consultas diarias necesitan tener un rendimiento consistente, rápido y eficiente. Sin embargo sólo las que están accesibles en la memoria RAM (memoria dinámica de acceso aleatorio) de un servidor de bases de datos funcionan más rápido, ya que no están limitadas por la alta cantidad de datos permitiendo  satisfacer las demandas diarias de los clientes.1

Aunque atender solicitudes de datos con un rendimiento constante y manteniendo la integridad en las transacciones no es una tarea fácil, se pueden lograr accesos rápidos, directos y dinámicos montando las Bases de Datos En la Memoria (IMDB, por sus siglas en inglés). Éstas  se basan principalmente en el uso de memoria RAM de alta capacidad (a partir de 8GB) y un elevado rendimiento.

Estas memorias atienden un alto volumen de solicitudes n veces más rápido que las bases de datos tradicionales residentes en discos duros y sirven de “columna vertebral” en cualquier escenario que requiera tiempos de respuesta rápidos al consultar grandes conjuntos de datos que incluso necesiten complementarse con aplicaciones específicas.

En este sentido, la velocidad de una RAM tiene una relación directa con el servidor de base de datos y, a medida que se requiere mayor frecuencia de la memoria, ésta incrementa su velocidad que incide positivamente en el rendimiento del servidor.

Instalación de memoria para mejorar el rendimiento de un servidor de base de datos

Kigston gráfica 1Como se ve en esta gráfica, el rendimiento del subsistema de memoria aumenta casi linealmente desde la configuración más lenta. Para habilitar el modo Quad Channel (la configuración más rápida) es necesario llenar el primer banco (junto al procesador) que consta de cuatro slots, para ello se debe instalar un módulo de memoria por cada slot.

Al llenar los cuatro slots del primer banco habilitamos el Quad Channel. Es importante destacar que con el aumento en la carga eléctrica de una configuración de Quad Channel se observa un aumento de  aproximadamente 70GB/s (cerca de 4 veces más que la configuración de Single Channel) en el rendimiento del subsistema de memoria que representa una solución ideal para aplicaciones de alto rendimiento que requieren un uso intensivo de recursos.

Rendimiento en la frecuencia de memoria

Kigston gráfica 2En la gráfica adjunta utilizamos los mismos ocho módulos de memoria DDR3 8GB operando a cuatro velocidades diferentes (MHz), simétricamente en ambos subsistemas de la memoria Xeon E5 de Intel, con el fin de alcanzar una configuración equilibrada que permita el mejor desempeño en las diferentes frecuencias de memoria mostradas.

Al operar los módulos de memoria a 800MHz vemos el rendimiento más lento, con aproximadamente 40GB/s de velocidad  de transferencia sostenida. A medida que aumentamos la frecuencia, el rendimiento de memoria aumenta casi linealmente hasta el máximo de aproximadamente 70GB/s cuando funciona a 1,600MHz. Esto es ideal para escenarios donde los recursos escritos en la memoria requieren el máximo rendimiento posible para ser eficientes como son: las bases de datos de misión crítica y los procesos de virtualización.

Capacidad de memoria en comparación con el rendimiento de frecuencia

Kigston gráfica 3En esta gráfica se muestra el rendimiento de un subsistema de memoria instalada con 192GB corriendo 1066MHz, frente a otros dos: uno con una configuración con 128GB y otro con una configuración de  64GB, ambos funcionando a 1600MHz.

Al aumentar las capacidades de la memoria que funcionan a la misma velocidad de 1,600MHz –ya sean con 128GB (16 x 8GB) o 64GB (8 x 8GB) simétricamente distribuidos–, se muestra el mismo rendimiento sostenido de aproximadamente 70GB/s.

Una capacidad de memoria mayor de 192GB (24 x 8GB) –aunque corre a un ritmo más lento de 1,066MHz– muestra un descenso poco significativo (de aproximadamente 17GB/s) en el rendimiento sostenido.

Conclusión

Como hemos visto, seguir las normas apropiadas para instalar y habilitar los slots de memoria permite un equilibrio adecuado para optimizar un servidor de bases de datos.

Lo más importante es utilizar módulos de memoria (RAM) de mayor capacidad y de frecuencias más altas. Estas memorias por sí mismas permiten lograr un mejor rendimiento, pero al combinarlas con la adecuada configuración, podemos multiplicar su rendimiento hasta cuatro veces, incrementando con ello el ROI (retorno de inversión) y reduciendo el TCO (costo total de propiedad) a lo largo del ciclo de vida del servidor.

 Referencias

1 Predicción de las preferencias del usuario en cuanto a películas utilizando la base de datos de Netflix. Departamento de Ingeniería Eléctrica y de Computación de la Universidad Carnegie Mellon  http://users.ece.cmu.edu/~dbatra/publications/assets/goel_batra_netflix.pdf

_____________

* Oscar Martínez es director regional de Kingston para México, Miami, Centroamérica y Caribe.