El acceso a bases de datos en entornos virtualizados

Aspectos a tener en cuenta a la hora de implantar una infraestructura de virtualización en entornos de bases de datos


Tradicionalmente, conforme los precios del hardware fueron descenciendo, las empresas invirtieron en nuevos servidores conforme sus requerimientos crecían. El esquema de arquitectura utilizado era de 1 a 1, en el cual un servidor físico estaba dedicado a alojar una única aplicación empresarial.

En este tipo de infraestructura, los servidores fueron infrautilizados ya que sólo estaban siendo aprovechados al 10-15% de su máxima capacidad. Pero además nos econtrabamos ante la situación de que a mayor demanda de servidores mayor demanda de espacio, consumo energético, necesidades de refrigeración y complejidad de red.

Ante esta situación, una nueva tecnología permite solucionar todas estos complejidades y aprovechar al máximo los recursos hardware disponibles: la virtualización. La virtualización es una tecnología que abstrae el sistema operativo de la capa de hardware. De este modo, los recursos hardware son compartidos por diferentes sistemas operativos que funcionan de manera independiente como si fueran servidores dedicados en sí mismos.

¿Qué recursos hardware se comparten? Habitualmente capacidad de procesamiento (CPU), memoria (RAM), almacenamiento y red.

Teniendo en cuenta todos estos beneficios, cada vez son más las empresas que están implementando infraestructuras de virtualización con el objetivo de reducir costes a través de la consolidación de hardware.

Bases de Datos - Virtualizacion

Virtualización en entornos de bases de datos

Sin embargo, en muchos casos la implantación de una infraestructura de virtualización no es tan simple. Es habitual que se pasen por alto factores como la conectividad en el acceso a datos y sus efectos en el rendimiento de la aplicación.

Durante años, los fabricantes han hecho grandes avances en la optimización de bases de datos así como en el rendimiento de los procesadores y otros componentes hardware. Como resultado de estos avances, el cuello de botella en el rendimiento de las bases de datos se ha trasladado a los driivers (software) que permiten la conectividad entre las aplicaciones y el sistema de bases de datos utilizado.

En entornos tradicionales (no virtualizados), la capa de conectividad a datos (relativa a los drivers) suma entre el 75%-95% del tiempo total utilizado para acceder a una base de datos. En entornos virtualizados, con recursos compartidos por varias máquinas virtuales, se introducen complicaciones adicionales en el acceso a datos:

1.- Sobrecarga introducida por la virtualización

En sí mismo, el software de virtualización utilizado consume recursos. Es lógico pensar que cualquier persona que considere implementar un entorno de virtualización, planifique la capacidad de hardware requerida por sus aplicaciones.

2.- Requerimientos de la aplicación

Las aplicaciones cada vez requieren más recursos. Hasta ahora la solución más habitual era añadir más RAM, pero esto va en contra de los objetivos de la virtualización.

3.- Over-provisioning en entornos virtualizados

Es habitual que, para justificar la inversión en virtualización, se haga overprovisioning (máqinas virtuales configuradas de tal manera que los recursos máximos que puedan utilizar superen a los disponibles físicamente) de los recursos hardware lo que ha menudo desemboca en una degradación en el rendimiento.

Por lo tanto, para poder aprovechar al máximo los recursos hardware sin afectar al rendimiento de la aplicación, todos los componentes virtualizados deben ejecutarse tan eficientemente como sea posible. Entre ellos los drivers de acceso a datos, que deben estar optimizados para una arquitectura de virtualización. Si éstos no son eficientes en la utilización de CPU, memoria, almacenamiento y red, los esfuerzos realizados en virtualizar pueden resultar inútiles.

Teniendo en cuenta el hardware disponible, el entorno en que será utilizada nuestra aplicación y el número de accesos concurrentes que tenga, podremos decantarnos por los drivers que utilizamos habitualmente (ODBC, JDBC, ADO.NET, etc) o por soluciones ad-hoc específicas para entornos virtualizados que aumentan el rendimiento en el acceso a datos a nivel de driver.

Actualmente, uno de los líderes del mercado en soluciones de este tipo es el fabricante Progress DataDirect. Éste provee drivers para acceder a las principales bases de datos del mercado: Oracle, DB2, SQL Server, Sybase, Salesforce, MySQL y PostgreSQL. Según estudios realizados por el propio fabricante, consigue disminuir el uso de CPU y el tiempo de respuesta en el acceso a base de datos en entornos virtualizados.



Artículos relacionados

ChatBot Gratis para tu web

Con la inteligencia artificial se pueden automatizar las tareas sencillas y crear mejores experiencias para los clientes. El software de chatbot con tecnología de IA facilita el trabajo de los agentes y les permite concentrarse en los problemas más complejos. Es fácil personalizar, crear y ampliar la experiencia de los client

Tendencias en Cloud Computing

Conforme fue avanzando el año 2012, los expertos en la nube detectaron un interés creciente en las siguientes áreas relacionadas con el Cloud Computing. Es por ello que vamos a considerar estas áreas como tendencias en Cloud Computing para el año 2013: Análisis Big data Las empresas comienzan a ver