Base de datos en la nube

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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[editar]

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.[1]
  • 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.[2] 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.[3]

Arquitectura y características en común[editar]

  • 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[editar]

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.[6]
  • 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.[7] 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[editar]

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 [3] 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
Maquina virtual Base de datos como servicio
Modelo de datos SQL
Modelo de datos NoSQL

Véase también[editar]

Referencias[editar]

  1. a b Amazon Machine Images - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit, Amazon Web Services, Retrieved 2011-11-9.
  2. a b Klint Finley, "7 Cloud-Based Database Services", ReadWriteWeb, Retrieved 2011-11-9.
  3. "MySQL Server Support at Rackspace", [www.rackspace.com Rackspace.com], Retrieved 2011-11-10.
  4. "AWS Management Console, Amazon RDS Features", Amazon Web Services, Retrieved 2011-11-10.
  5. "Amazon Relational Database Service, Features, Detailed Description", Amazon Web Services, Retrieved 2011-11-10.
  6. Dave Rosenberg, Are databases in the cloud really all that different?, CNET, Retrieved 2011-11-6
  7. Agrawal, Rakesh et al. (2008). «The Claremont report on database research». SIGMOD Record (ACM) 37 (3):  pp. 9–19. doi:10.1145/1462571.1462573. ISSN 0163-5808. http://db.cs.berkeley.edu/claremont/claremontreport08.pdf. 
  8. Ken North, "SQL, NoSQL or SomeSQL?", Dr. Dobb's, Retrieved 2011-11-9.
  9. "Oracle Database in the Cloud", Oracle.com, Retrieved 2011-11-9.
  10. Deploy your database applications and projects on the cloud, IBM.com, Retrieved 2011-9-1
  11. Chris Kanaracus, "Ingres rolls out cloud database offerings", Infoworld.com, Retrieved 2011-8-28.
  12. Chris Kanaracus, "EnterpriseDB Adding New Cloud Option for PostgreSQL Database", PCWorld, retrieved 2011-8-28
  13. "Running MySQL on Amazon EC2 with EBS (Elastic Block Store), Amazon Web Services, retrieved 2011-11-20
  14. Swoyer, Stephen. "NuoDB: A Database for the Cloud." TDWI. Nov. 13, 2012. Retrieved Nov. 26, 2012
  15. Dantressangle,Patrick. [1] The Gaian Database
  16. Noel Yuhanna, SQL Azure Raises The Bar On Cloud Databases, Forrester, Retrieved 2011-11-9.
  17. "Announcing Heroku PostgreSQL Database Add-on", Heroku Blog, Retrieved 2011-11-9.
  18. http://finance.yahoo.com/news/clustrix-enters-rackspace-partner-program-120500944.html
  19. en:EnterpriseDB#cite note-10
  20. Dantressangle,Patrick. [2] The Gaian Database
  21. "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu", Amazon Web Services, Retrieved 2011-11-10.
  22. "Amazon Machine Image, Hadoop AMI", Amazon Web Services, Retrieved 2011-11-10.
  23. "Setting up Cassandra in the Cloud", Cassandra Wiki, Retrieved 2011-11-10.
  24. "Neo4J in the Cloud", Neo4J Wiki, Retrieved 2011-11-10.
  25. "Announcing Neo4J on Windows Azure", Neo4J Blog, Retrieved 2011-11-10.
  26. "MongoDB on Amazon EC2, MongoDB.org, Retrieved 2011-11-10.
  27. "MongoDB on Azure, MongoDB.org, Retrieved 2011-11-10.
  28. Andrew Brust, "Cloudant Makes NoSQL as a Service Bigger", ZDNet, Retrieved 2012-5-22.
  29. Jeanette Borzo, "Salesforce to Offer 'Cloud' Database", Wall Street Journal, Retrieved 2011-8-28.
  30. "MongoDB Hosting Center", MongoDB.org, Retrieved 2011-11-10.

Enlaces externos[editar]