Base de datos en la nube
# Base de datos en la nube

## 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ñadas 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.

## 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 o Archivado el 29 de diciembre de 2012 en Wayback Machine. para ver más proveedores y comparación de servicios.

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 | Oracle Database IBM DB2 Ingres (Base de datos) PostgreSQL MySQL NuoDB GaianDB | Amazon Relational Database Service (MySQL) Microsoft SQL Azure (MS SQL) Heroku PostgreSQL como servicio (compartido o dedicado) Clustrix Base de datos como servicio Xeround Cloud Database - MySQL front-end EnterpriseDB Postgres Plus Cloud Database GaianDB |
| Modelo de datos NoSQL | CouchDB en Amazon EC2 Hadoop en Amazon EC2 Apache Cassandra en Amazon EC2 Neo4J en Amazon EC2 or Microsoft Azure MongoDB en Amazon EC2 o Microsoft Azure | Amazon DynamoDB Amazon SimpleDB Cloudant Data Layer (CouchDB) Database.com por SalesForce Google App Engine Almacenamiento de datos MongoDB Base de datos como servicio |
