El valor de la gestión de datos

Transacciones base de datos y su importancia al migrar a la nube

Posted on Tue, Apr 11, 2017

Técnicamente las transacciones base de datos delimitan un conjunto de operaciones de base de datos (es decir, sentencias SQL), que son procesadas como un todo, de forma que las operaciones que están incluidas dentro de esas transacciones base de datos se validan (commit) o se cancelan (rollback) como una única operación.

En la actualidad son muchas las empresas que están migrando sus infraestructuras de bases de datos locales a soluciones basadas en la nube con el objetivo de ahorrar costes, tener bajo control el impacto de una recuperación de desastres o incluso mejorar la seguridad.

Transacciones base de datos.jpg

Estas soluciones de base de datos deben ser capaces de escalar rápidamente para satisfacer las demandas sin sacrificar cambios significativos en las aplicaciones que las soportan. Pero para una base de datos en la nube, simplificar los procesos y aumentar la flexibilidad significa asegurarse de que los recursos están disponibles a demanda, de modo que aunque necesitemos un número muy alto de transacciones base de datos por segundo, el rendimiento, la compatibilidad, el valor y el soporte sean los adecuados.

Veamos un par de características que debemos tener en cuenta en una base de datos a la hora de migrar a la nube.

 

Rendimiento

La capacidad de escalado de una base de datos es un activo sumamente valioso para las empresas con cargas de trabajo de alto valor y con muchas transacciones base de datos.

MySQL puede servir como una buena solución general, ya que es capaz de manejar grandes cantidades de tráfico y puede escalar lecturas en forma de "read-slaves", sin embargo su capacidad para escalar escrituras a través de write-slaves es nula y corre el riesgo de bloquear aplicaciones de misión crítica.

Por lo tanto, las empresas que migran a la nube deben ser conscientes de que el tamaño no lo es todo cuando se trata de elegir una solución de base de datos compatible con MySQL para acomodar sus cargas de trabajo. Por ejemplo, mercados como el del comercio electrónico, los juegos de azar e Internet de las Cosas tienen un mayor número de transacciones base de datos por segundo, con temporadas máximas en diferentes épocas del año que crean cargas de trabajo más grandes para la base de datos. Estas cargas de trabajo de transacciones base de datos pesadas requieren una base de datos que puede proporcionar escalabilidad alta, pero como mencionamos anteriormente, no todas las aplicaciones de base de datos en la nube son capaces de escalar tan fácilmente.

Además, hay cargas de trabajo que consideramos de alto valor, que requieren una base de datos que puede proporcionar coherencia inmediata y no consistencia final. Ya vemos empresas con cargas de trabajo de alto valor y alta número de transacciones base datos que adoptan soluciones de base de datos en la nube que tienen la capacidad de proporcionar escalabilidad tanto en lecturas como escrituras, garantizando atomicidad, consistencia, aislamiento y durabilidad en cada transacción. Esto es importante porque en el pasado, ejecutar una operación de base de datos exitosa era proporcionar alta disponibilidad y velocidad, pero hoy en día las empresas que manejan cargas de trabajo mixtas tienen otros criterios a considerar.

 

Compatibilidad

Mientras que algunas compañías buscan en la nube su eficiencia y rentabilidad, otras buscan la promesa de escalabilidad. Pero no todas las aplicaciones de base de datos en la nube utilizan una arquitectura escalable. Incluso no escalan de la misma manera, en general.

Por ejemplo, MySQL no satisface las necesidades de una arquitectura de nube escalable, y cuando los DBA necesitan aumentar el rendimiento para acomodar las cargas de trabajo, se ven obligados a realizar piruetas técnicas para ejecutar métodos complejos, como leer esclavos o fragmentos.

En la actualidad, tenemos bases de datos compatibles con MySQL en el mercado que manejan enormes cantidades de transacciones base de datos simultáneas, y en lugar de administrar la base de datos y las aplicaciones, los DBA sólo necesitan agregar nodos. Una tarea mucho menos complicada que agregar instancias de servidor para aumentar el rendimiento de la base de datos.

 

Guía introductoria a la migración de datos

Topics: Data Migration