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.
·
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.
·
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.