Una base de datos en la nube es una base de datos que normalmente se ejecuta en una plataforma de computación en la nube y el acceso a la base de datos se proporciona como servicio. Hay dos modelos de implementación comunes: los usuarios pueden ejecutar bases de datos en la nube de forma independiente, utilizando una imagen de máquina virtual , o pueden comprar acceso a un servicio de base de datos, mantenido por un proveedor de base de datos en la nube. De las bases de datos disponibles en la nube, algunas están basadas en SQL y otras usan un modelo de datos NoSQL .
Los servicios de base de datos se encargan de la escalabilidad y la alta disponibilidad de la base de datos. Los servicios de base de datos hacen que la pila de software subyacente sea transparente para el usuario. [1]
Modelos de implementación
Hay dos métodos principales para ejecutar una base de datos en una nube:
- Imagen de la máquina virtual
- Las plataformas en la nube permiten a los usuarios comprar instancias de máquinas virtuales por un tiempo limitado, y se puede ejecutar una base de datos en dichas máquinas virtuales. Los usuarios pueden cargar su propia imagen de máquina con una base de datos instalada en ella o utilizar imágenes de máquina listas para usar que ya incluyen una instalación optimizada de una base de datos.
- Base de datos como servicio (DBaaS)
- Con una base de datos como modelo de servicio, los propietarios de aplicaciones no tienen que instalar y mantener la base de datos ellos mismos. En cambio, el proveedor de servicios de la base de datos asume la responsabilidad de instalar y mantener la base de datos, y los propietarios de las aplicaciones pagan de acuerdo con el uso que hagan del servicio. Este es un tipo de software como servicio (SaaS).
Arquitectura y características comunes
- La mayoría de los servicios de bases de datos ofrecen consolas basadas en web, que el usuario final puede utilizar para aprovisionar y configurar instancias de bases de datos.
- Los servicios de base de datos consisten en un componente de administrador de base de datos, que controla las instancias de la base de datos subyacente mediante una API de servicio. La API de servicio está expuesta al usuario final y permite a los usuarios realizar operaciones de mantenimiento y escalado en sus instancias de base de datos.
- La pila de software subyacente generalmente incluye el sistema operativo, la base de datos y el software de terceros utilizado para administrar la base de datos. El proveedor de servicios es responsable de instalar, parchear y actualizar la pila de software subyacente y garantizar el estado general y el rendimiento de la base de datos.
- Las características de escalabilidad difieren entre los proveedores: algunos ofrecen escalado automático, otros permiten al usuario escalar usando una API, pero no lo hacen automáticamente.
- Por lo general, existe un compromiso para un cierto nivel de alta disponibilidad (por ejemplo, 99,9% o 99,99%). Esto se logra mediante la replicación de datos y la conmutación por error de instancias a otras instancias de base de datos.
Modelo de datos
El diseño y desarrollo de sistemas típicos utiliza la gestión de datos y las bases de datos relacionales como sus bloques de construcción clave. Las consultas avanzadas expresadas en SQL funcionan bien con las relaciones estrictas que imponen las bases de datos relacionales a la información. Sin embargo, la tecnología de bases de datos relacionales no se diseñó ni desarrolló inicialmente para su uso en sistemas distribuidos. Este problema se ha abordado con la adición de mejoras en la agrupación en clústeres de las bases de datos relacionales, aunque algunas tareas básicas requieren protocolos complejos y costosos, como la sincronización de datos. [2]
Las bases de datos relacionales modernas han mostrado un rendimiento deficiente en sistemas con uso intensivo de datos, por lo tanto, la idea de NoSQL se ha utilizado dentro de los sistemas de administración de bases de datos para sistemas basados en la nube. [3] Dentro del almacenamiento implementado NoSQL , no hay requisitos para esquemas de tablas fijas y se evita el uso de operaciones de combinación. "Las bases de datos NoSQL han demostrado proporcionar escalabilidad horizontal eficiente, buen rendimiento y facilidad de montaje en aplicaciones en la nube". [4] Los modelos de datos que se basan en algoritmos de retransmisión simplificados también se han empleado en aplicaciones de cartografía en la nube con uso intensivo de datos exclusivas de los marcos virtuales. [5]
También es importante diferenciar entre las bases de datos en la nube que son relacionales y no relacionales o NoSQL: [6]
- Bases de datos SQL
- son un tipo de base de datos que se puede ejecutar en la nube, ya sea en una máquina virtual o como un servicio, según el proveedor. Si bien las bases de datos SQL son fácilmente escalables verticalmente, la escalabilidad horizontal plantea un desafío, que los servicios de bases de datos en la nube basados en SQL han comenzado a abordar. [7] [ necesita cotización para verificar ]
- Bases de datos NoSQL
- son otro tipo de base de datos que se puede ejecutar en la nube. Las bases de datos NoSQL están diseñadas para dar servicio a cargas pesadas de lectura / escritura y pueden escalar hacia arriba y hacia abajo fácilmente, [8] y, por lo tanto, son más adecuadas de forma nativa para ejecutarse en la nube. Sin embargo, la mayoría de las aplicaciones contemporáneas se basan en un modelo de datos SQL, por lo que trabajar con bases de datos NoSQL a menudo requiere una reescritura completa del código de la aplicación. [9]
- Algunas bases de datos SQL han desarrollado capacidades NoSQL que incluyen JSON , JSON binario (por ejemplo, BSON o variantes similares) y tipos de datos de almacenamiento de valores clave.
- Una base de datos de modelos múltiples con capacidades relacionales y no relacionales proporciona una interfaz SQL estándar para usuarios y aplicaciones y, por lo tanto, facilita el uso de dichas bases de datos para aplicaciones contemporáneas construidas alrededor de un modelo de datos SQL. Las bases de datos nativas de varios modelos admiten varios modelos de datos con un núcleo y un lenguaje de consulta unificado para acceder a todos los modelos de datos.
Vendedores
La siguiente tabla enumera los proveedores de bases de datos notables con una oferta de base de datos en la nube, clasificados por su modelo de implementación (imagen de máquina frente a base de datos como servicio) y modelo de datos, SQL frente a NoSQL.
Implementación de máquinas virtuales | Base de datos como servicio | |
---|---|---|
Modelo de datos SQL |
| |
Modelo de datos NoSQL |
|
|
Ver también
- Computación en la nube
- Almacenamiento en la nube
- Datos como servicio
- Base de datos relacional
Referencias
- ^ Hwang, G .; Fu, S. (mayo de 2016). "Prueba de infracción por confianza y responsabilidad de los sistemas de bases de datos en la nube" . 2016 16º Simposio Internacional IEEE / ACM sobre Computación en Cluster, Cloud y Grid (CCGrid) : 425–433. doi : 10.1109 / CCGrid.2016.27 .
- ^ A. Anjomshoaa y A. Tjoa, "Cómo el paradigma de la computación en la nube podría dar forma al futuro del procesamiento de información empresarial" , Actas de la 13ª Conferencia Internacional sobre Integración de la Información y Aplicaciones y Servicios Web - iiWAS'11, págs. 7- 10 de 2011.
- ^ S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [En línea]. Disponible: https://www.technologyreview.com/s/414090/designing-for-the-cloud/ . Consultado el 4 de octubre de 2016.
- ^ " NoSQL ", Wikipedia, 2016. Consultado el 4 de octubre de 2016.
- ^ Modi, A (2017). "Migración en vivo de máquinas virtuales con su almacenamiento persistente local en una nube intensiva en datos". Revista Internacional de Computación y Redes de Alto Rendimiento . 10 (1): 134. doi : 10.1504 / IJHPCN.2017.083213 .
- ^ https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data Artículo en 'Microsoft Azure'
- ^ Dave Rosenberg, ¿Son las bases de datos en la nube realmente tan diferentes? , CNET , consultado el 6 de noviembre de 2011
- ^ Agrawal, Rakesh; et al. (2008). "El informe de Claremont sobre la investigación de bases de datos" (PDF) . Registro SIGMOD . 37 (3): 9-19. CiteSeerX 10.1.1.211.5963 . doi : 10.1145 / 1462571.1462573 . ISSN 0163-5808 . S2CID 666280 .
- ^ Ken North, " SQL, NoSQL o SomeSQL? ", Dr. Dobb's, Consultado el 9 de noviembre de 2011 .
- ^ Implemente sus aplicaciones y proyectos de base de datos en la nube , IBM.com, recuperado 2011-9-1
- ^ Chris Kanaracus, " Ingres despliega ofertas de bases de datos en la nube ", Infoworld.com , consultado el 28 de agosto de 2011.
- ^ " Amazon Web Services anuncia dos nuevos servicios de base de datos: AWS Database Migration Service y Amazon RDS para MariaDB Archivado 2017-06-01 en Wayback Machine , Amazon Press Releases, consultado 2015-11-17
- ^ " MariaDB Enterprise Cluster + MariaDB MaxScale Archivado el 4 de diciembre de 2016 en Wayback Machine , Microsoft Azure, consultado el 17 de noviembre de 2015
- ^ " Ejecución de MySQL en Amazon EC2 con EBS (Elastic Block Store) , Amazon Web Services, consultado el 20 de noviembre de 2011
- ^ Swoyer, Stephen. "NuoDB: una base de datos para la nube". TDWI. 13 de noviembre de 2012. Consultado el 26 de noviembre de 2012.
- ^ Imágenes de Amazon Machine - Oracle Database 11g Release 2 (11.2.0.1) Enterprise Edition - 64 Bit Archivado el 16 de octubre de 2011 en Wayback Machine , Amazon Web Services, obtenido el 9 de noviembre de 2011 .
- ^ " Oracle Database in the Cloud ", Oracle.com, consultado el 9 de noviembre de 2011.
- ^ Chris Kanaracus, " EnterpriseDB Adding New Cloud Option for PostgreSQL Database ", PCWorld , consultado el 28 de agosto de 2011
- ^ "AWS | SAP HANA" . Amazon Web Services, Inc . Consultado el 7 de julio de 2016 .
- ^ "Soluciones SAP | Microsoft Azure" . azure.microsoft.com . Consultado el 7 de julio de 2016 .
- ^ "SAP HANA Enterprise Cloud" . hana.sap.com . Archivado desde el original el 15 de agosto de 2016 . Consultado el 7 de julio de 2016 .
- ^ "Copia archivada" . Archivado desde el original el 14 de abril de 2016 . Consultado el 15 de enero de 2017 .CS1 maint: copia archivada como título ( enlace )
- ^ "Crunchy Data continúa el soporte de PostgreSQL con el lanzamiento de Crunchy Bridge" . 18 de septiembre de 2020.
- ^ a b EnterpriseDB # cite note-10
- ^ "Cloud SQL - Servicio de base de datos relacional MySQL" . Consultado el 28 de noviembre de 2016 .
- ^ " Anuncio del complemento de base de datos de Heroku PostgreSQL ", Blog de Heroku, consultado el 9 de noviembre de 2011.
- ^ Yegulalp, Serdar (31 de marzo de 2020). "SkySQL, MariaDB-as-a-service, se lanza en Google Cloud" . InfoWorld . Consultado el 5 de febrero de 2021 .
- ^ Noel Yuhanna, SQL Azure eleva el listón en las bases de datos en la nube , Forrester, consultado el 9 de noviembre de 2011.
- ^ Pethuru, Raj (31 de marzo de 2014). Manual de investigación sobre infraestructuras en la nube para Big Data Analytics . IGI Global. ISBN 9781466658653.
- ^ Klint Finley, "7 servicios de base de datos basados en la nube". Archivado el 9 de noviembre de 2011 en Wayback Machine , ReadWriteWeb , obtenido el 9 de noviembre de 2011.
- ^ " Configuración de Cassandra en la nube Archivado el 13 de noviembre de 2015 en la Wayback Machine ", Cassandra Wiki,obtenido el 10 de noviembre de 2011.
- ^ "Blog de Google Cloud Platform: haga clic para implementar Apache Cassandra en Google Compute Engine" . Consultado el 28 de noviembre de 2016 .
- ^ " [1]
- ^ " Guía de instalación de VM de la caja virtual de la base de datos de Clusterpoint archivada el 10 de marzo de 2015 en archive.today ", Clusterpoint, consultado el 8 de marzo de 2015.
- ^ " Imágenes de máquinas de Amazon, CouchDB 0.10.x Ubuntu de 32 bits [ enlace muerto permanente ] ", Servicios web de Amazon, obtenido el 10 de noviembre de 2011.
- ^ "Alojamiento en la nube CouchDB en Google Cloud Platform" . Consultado el 28 de noviembre de 2016 .
- ^ " Imagen de máquina de Amazon, Hadoop AMI [ enlace muerto permanente ] ", Amazon Web Services, obtenido el 10 de noviembre de 2011.
- ^ "Cloud Dataproc - Spark administrado y servicio Hadoop administrado" . Consultado el 28 de noviembre de 2016 .
- ^ " Hadoop at Rackspace Archivado el 2 de marzo de 2014 en la Wayback Machine ", Plataformas de Big Data de Rackspace, obtenido el 24 de febrero de 2014.
- ^ "MarkLogic Developer 8 (HVM) en AWS Marketplace" . aws.amazon.com . Consultado el 31 de marzo de 2016 .
- ^ marklogic.com. "Implementación flexible" (PDF) . Consultado el 28 de noviembre de 2016 .
- ^ " MongoDB en Amazon EC2 , MongoDB.org, obtenido el 10 de noviembre de 2011.
- ^ "Implementación de MongoDB en Google Compute Engine" . Consultado el 28 de noviembre de 2016 .
- ^ " MongoDB en Azure archivado el31 de octubre de 2012en Wayback Machine , MongoDB.org, obtenido el 10 de noviembre de 2011.
- ^ "Escale fácilmente MongoDB en Rackspace Archivado el 2 de marzo de 2014 en la Wayback Machine ", MongoDB ObjectRocket administrado por Rackspace, obtenido el 24 de febrero de 2014.
- ^ " Neo4J en la nube Archivado 2011-09-25 en la Wayback Machine ", Neo4J Wiki, Obtenido 2011-11-10.
- ^ " Anuncio de Neo4J en Windows Azure ", Blog de Neo4J, obtenido el 10 de noviembre de 2011.
- ^ Andrew Brust, " Cloudant hace que NoSQL como servicio sea más grande ", ZDNet, obtenido el 22 de mayo de 2012.
- ^ "Bigtable - Servicio de base de datos NoSQL escalable" . Consultado el 28 de noviembre de 2016 .
- ^ "Datastore - Base de datos sin esquema NoSQL" . Consultado el 28 de noviembre de 2016 .
- ^ "MongoDB Atlas - MongoDB alojado como servicio" . Consultado el 30 de agosto de 2016 .
- ^ "Servicio en la nube de base de datos NoSQL | Oracle Cloud" . cloud.oracle.com . Consultado el 29 de noviembre de 2017 .