BASE DE DATOS EN LA NUBE
Una base de datos en
la nube es una base de datos que se ejecuta en la nube. Hay dos
modelos de implementación: los usuarios pueden ejecutar la bases de datos en la
nube de forma independiente, utilizando una imagen de máquina virtual, o pueden
comprar el acceso a un servicio de base de datos, gestionada por un proveedor
de base de datos en nube. De las bases de datos disponibles en la nube, algunas
son basadas en SQL y algunos utilizan un modelo de datos NoSQL.
Implementación del modelo:
Existen dos métodos principales
para ejecutar una base de datos en la nube:
·
Imagen de máquina virtual: Las
plataformas en la nube permiten a los usuarios comprar instancias de máquinas
virtuales por un tiempo limitado. Es posible ejecutar una base de datos en
estas máquinas virtuales. Los usuarios pueden subir su imagen propia con una
base de datos instalada en ella, o utilizar imágenes prefabricadas de máquinas
que ya incluyen una instalación optimizada de una base de datos. Por ejemplo Oracle provee una imagen
prefabricada con una instalación de Oracle Database 11g Enterprise Edition on
Amazon EC2.
·
Base de datos
como servicio: Algunas plataformas en la
nube ofrecen opciones para el uso de bases de datos como servicio, sin lanzar
físicamente una instancia de máquina virtual para la base de datos. En esta
configuración, los propietarios de aplicaciones no tienen que instalar y
mantener la base de datos por su cuenta. En cambio, el proveedor de servicios
de base de datos se encarga de la instalación y el mantenimiento de la base de
datos, y los propietarios de aplicaciones pagan de acuerdo a su uso. Por
ejemplo, Amazon Web Services provee dos servicios de base de datos como parte
de su oferta en la nube, SimpleDB que
almacena pares llave-valor en formato NoSql y Amazon Relational Database Service que
está basado en SQL con una interfaz MySql.
Una tercera opción es
administrar el alojamiento de una base de datos en la nube, donde la base de
datos no se ofrece como un servicio, pero el proveedor de la nube aloja la base
de datos y administra en nombre del propietario de la aplicación. Por ejemplo,
el servicio en la nube de Rackspace ofrece
alojamiento gestionado para bases de datos MySQL.
Arquitectura y características
en común
·
La mayoría de los servicios de
bases de datos ofrecen consolas web,
que el usuario final puede utilizar para aprovisionar y configurar las
instancias de la base de datos. Por ejemplo, la consola web de Amazon
Web Services permite a los usuarios lanzar instancias de bases de
datos, crear instantáneas (similar a las copias de seguridad) de bases de datos
y realizar un seguimiento de las estadísticas de la base de datos.4
·
Los servicios de las bases de
datos consisten en un componente de administración que controla las instancias
de cada base de datos subyacente utilizando una API de servicios. La API de servicios se
expone al usuario final, y permite a los usuarios realizar operaciones de
mantenimiento y ampliar sus instancias de la base de datos. Por ejemplo, el
servicio de Amazon Relational Database provee una API que
permite crear una instancia de una base de datos, modificar los recursos
disponibles de cada instancia, eliminar una instancia, la creación de una
instantánea (similar a una copia de seguridad) de una base de datos y
restauración de una base de datos a partir de una instantánea.5
·
Los servicios de las bases de
datos mantienen la pila del software subyacente, transparente al usuario - la
pila normalmente incluye el sistema operativo, base de datos y el software
de terceros utilizado por la base de datos. El proveedor de servicios es
responsable de la instalación, parches y actualización de la pila de software
subyacente.
·
Los servicios de las bases de
datos cuidan la escalabilidad y la alta disponibilidad de la
base de datos. Características de escalabilidad difieren entre los proveedores
- algunos ofrecen auto-escala, mientras que otros permiten al usuario ampliar
mediante una API, pero no escalar automáticamente. Normalmente hay un
compromiso para un cierto nivel de alta disponibilidad (por ejemplo, 99,9% o
99,99%).
Modelo de
Datos:
También es importante diferenciar entre bases
de datos en la nube que son relacionales en oposición a las no relacionales
(NoSQL):
·
Bases de datos SQL, son un
tipo de base de datos que se puede ejecutar en la nube (ya sea como una imagen
de máquina virtual o como un servicio, dependiendo del proveedor). Las bases de
datos SQL poseen baja escalabilidad, ya que no fueron nativamente diseñadas
para entornos en la nube, aunque los servicios en la nube de base de datos
basado en SQL están tratando de hacer frente a este desafío.
·
Bases de datos NoSQL, son otro
tipo de base de datos que puede ejecutarse en la nube. Las bases de datos NoSQL
están diseñados para servir cargas pesadas de lecto-escritura y son capaces de
escalar hacia arriba y hacia abajo con facilidad. y por lo tanto son más
adecuadas para funcionar de forma nativa en la nube. Sin embargo, la mayoría de
las aplicaciones actuales se construyen en torno a un modelo de datos SQL, así
que trabajar con bases de datos NoSQL con frecuencia requiere una reescritura
completa del código de la aplicación.8
Proveedores:
La siguiente tabla muestra los
principales proveedores base de datos en la nube, clasificada por su modelo de
implementación y el modelo de datos. Véase las referencias para más información
de cada proveedor.
Proveedores
de base de datos en la nube por implementación del modelo y modelo de datos
|
||
Máquina
virtual
|
Base de
datos como servicio
|
|
Modelo
de datos SQL
|
||
Modelo de datos NoSQL
|
No hay comentarios:
Publicar un comentario