La virtualización de bases de datos consiste en la separación de la capa de base de datos, que se sitúa entre las capas de almacenamiento y aplicación dentro de la pila de aplicaciones. La virtualización de la capa de base de datos permite pasar de lo físico a lo lógico o virtual.
La virtualización permite agrupar y asignar recursos de computación y almacenamiento bajo demanda. Esto posibilita tanto el uso compartido de recursos de un único servidor para entornos multiusuario, como la agrupación de recursos de servidor en una única base de datos lógica o clúster. En ambos casos, la virtualización de bases de datos proporciona mayor flexibilidad, una asignación más granular y eficiente de los recursos agrupados y una computación más escalable.
Particionamiento de datos virtual
La práctica de particionar los almacenes de datos a medida que crece una base de datos se ha utilizado durante varias décadas. Existen dos formas principales en que los datos se han particionado dentro de los sistemas de gestión de datos heredados :
- Bases de datos de datos compartidos: una arquitectura que asume que todos los nodos del clúster de bases de datos comparten una única partición. La comunicación entre nodos se utiliza para sincronizar las actualizaciones realizadas por los diferentes nodos del clúster. Los sistemas de gestión de datos de datos compartidos se limitan a clústeres de nodos de un solo dígito.
- Bases de datos sin recursos compartidos: arquitectura en la que todos los datos se distribuyen en particiones gestionadas internamente con límites de ubicación de datos claros y bien definidos. Las bases de datos sin recursos compartidos requieren gestión manual de particiones.
En el particionamiento virtual, los datos lógicos se abstraen de los datos físicos mediante la creación y gestión autónoma de un gran número de particiones de datos (de cientos a miles). Debido a que se mantienen de forma autónoma, los recursos necesarios para gestionar las particiones son mínimos. Este tipo de particionamiento masivo da como resultado:
- Particiones pequeñas, gestionadas de forma eficiente y con equilibrio de carga.
- Sistemas que no requieren eventos de re-particionamiento para definir particiones adicionales, incluso cuando se cambia el hardware.
Las arquitecturas de "datos compartidos" y "nada compartido" permiten la escalabilidad a través de múltiples particiones de datos y consultas y procesamiento de transacciones entre particiones sin necesidad de escanear todas las particiones.
Particionamiento horizontal de datos
La partición de las fuentes de bases de datos respecto a los consumidores es un concepto fundamental. Con un mayor número de fuentes de bases de datos, la inserción de una capa de virtualización de datos horizontal entre las fuentes y los consumidores ayuda a abordar esta complejidad. Rick van der Lans, autor de varios libros sobre SQL y bases de datos relacionales, ha definido la virtualización de datos como «el proceso de ofrecer a los consumidores de datos una interfaz de acceso a los datos que oculta los aspectos técnicos de los datos almacenados, como la ubicación, la estructura de almacenamiento, la API, el lenguaje de acceso y la tecnología de almacenamiento». [ 1 ]
Ventajas
- Mayor flexibilidad y agilidad para la infraestructura informática existente.
- Rendimiento mejorado de la base de datos.
- Agrupar y compartir recursos informáticos, ya sea dividiéndolos (multitenencia) o combinándolos (agrupación en clústeres).
- Simplificación de la administración y la gestión.
- Mayor tolerancia a fallos .
Véase también
Referencias
- ↑ "Definición clara de la virtualización de datos, la federación de datos y la integración de datos" . Archivado del original el 3 de febrero de 2020. Consultado el 24 de marzo de 2011 .
- Bases de datos