Base de datos que se ejecuta en una plataforma de computación en la nube
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 un servicio. Existen 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 bases de datos en la nube. De las bases de datos disponibles en la nube, algunas se basan en SQL y otras utilizan 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 plataforma 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 y 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 ya preparadas que ya incluyen una instalación optimizada de una base de datos. [2]
- Base de datos como servicio (DBaaS)
- Con un modelo de base de datos como servicio, los usuarios pagan tarifas a un proveedor de la nube por los servicios y los recursos informáticos, lo que reduce la cantidad de dinero y esfuerzo necesarios para desarrollar y administrar bases de datos. [2] Los usuarios reciben herramientas para crear y administrar instancias de bases de datos y controlar a los usuarios. Algunos proveedores de la nube también ofrecen herramientas para administrar las estructuras y los datos de las bases de datos. [3] Muchos proveedores de la nube ofrecen bases de datos relacionales (Amazon RDS, SQL Server) y NoSQL (MongoDB, Amazon DynamoDB). [3] Este es un tipo de software como servicio (SaaS).
Arquitectura y características comunes
- La mayoría de los servicios de base de datos ofrecen consolas basadas en web, que el usuario final puede utilizar para aprovisionar y configurar instancias de base de datos.
- Los servicios de base de datos constan de un componente de administración de base de datos que controla las instancias de base de datos subyacentes mediante una API de servicio. La API de servicio está expuesta al usuario final y le permite 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 que se utiliza para administrar la base de datos. El proveedor de servicios es responsable de instalar, aplicar parches y actualizar la pila de software subyacente y de garantizar el estado y el rendimiento generales de la base de datos.
- Las características de escalabilidad difieren entre proveedores: algunos ofrecen escalamiento automático, otros permiten al usuario escalar utilizando una API, pero no escalan automáticamente. [2]
- Generalmente existe un compromiso con un cierto nivel de alta disponibilidad (por ejemplo, 99,9 % o 99,99 %). Esto se logra replicando datos y conmutando instancias a otras instancias de base de datos. [4]
Modelo de datos
El diseño y desarrollo de sistemas típicos utilizan la gestión de datos y las bases de datos relacionales como sus elementos fundamentales. 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 fue diseñada ni desarrollada inicialmente para su uso en sistemas distribuidos. Este problema se ha solucionado con la incorporación de mejoras de agrupamiento en las bases de datos relacionales, aunque algunas tareas básicas requieren protocolos complejos y costosos, como la sincronización de datos. [5]
Las bases de datos relacionales modernas han demostrado un rendimiento deficiente en sistemas con uso intensivo de datos, por lo tanto, la idea de NoSQL se ha utilizado en sistemas de gestión de bases de datos para sistemas basados en la nube. [6] En el almacenamiento implementado con NoSQL , no hay requisitos para esquemas de tablas fijos y se evita el uso de operaciones de unión. "Las bases de datos NoSQL han demostrado proporcionar una escalabilidad horizontal eficiente, un buen rendimiento y facilidad de ensamblaje en aplicaciones en la nube". [7] Los modelos de datos que se basan en algoritmos de retransmisión simplificados también se han empleado en aplicaciones de mapeo en la nube con uso intensivo de datos exclusivas de los marcos virtuales. [8]
También es importante diferenciar entre bases de datos en la nube que son relacionales y no relacionales o NoSQL: [9]
- Bases de datos SQL
- Las bases de datos SQL son un tipo de base de datos que puede ejecutarse 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. [10] [ necesita cita para verificar ]
- Bases de datos NoSQL
- Las 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 soportar grandes cargas de lectura y escritura y pueden escalarse hacia arriba y hacia abajo fácilmente [11] , por lo que son más adecuadas de forma nativa para ejecutarse en la nube. Sin embargo, la mayoría de las aplicaciones contemporáneas se construyen en torno a 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 [12] .
- Algunas bases de datos SQL han desarrollado capacidades NoSQL, incluyendo JSON , JSON binario (por ejemplo, BSON o variantes similares) y tipos de datos de almacenamiento de clave-valor.
- Una base de datos multimodelo con capacidades relacionales y no relacionales proporciona una interfaz SQL estándar a los usuarios y las aplicaciones y, por lo tanto, facilita el uso de dichas bases de datos para aplicaciones contemporáneas creadas en torno a un modelo de datos SQL. Las bases de datos multimodelo nativas 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 proveedores de bases de datos notables con una oferta de bases de datos en la nube, clasificados por su modelo de implementación (imagen de máquina vs. base de datos como servicio) y modelo de datos (SQL vs. NoSQL).
Véase también
Referencias
- ^ Hwang, G.; Fu, S. (mayo de 2016). "Prueba de violación para la confianza y la rendición de cuentas de los sistemas de bases de datos en la nube". 16.° Simposio internacional IEEE/ACM de 2016 sobre computación en clúster, en la nube y en red (CCGrid) . págs. 425–433. doi :10.1109/CCGrid.2016.27. ISBN 978-1-5090-2453-7. Número de identificación del sujeto 18373753.
- ^ abc Chao, Lee (2014). Desarrollo y gestión de bases de datos en la nube . Boca Raton: Taylor & Francis. ISBN 978-1-4665-6506-7.OCLC 857081580 .
- ^ ab McHaney, Roger (2021). Tecnologías de la nube: una descripción general de las tecnologías de computación en la nube para gerentes . Hoboken, NJ. ISBN 978-1-119-76951-4.OCLC 1196822611 .
{{cite book}}
: Mantenimiento de CS1: falta la ubicación del editor ( enlace ) - ^ Sakr, Sherif (junio de 2014). "Bases de datos alojadas en la nube: tecnologías, desafíos y oportunidades". Computación en clúster . 17 (2): 487–502. doi :10.1007/s10586-013-0290-7. ISSN 1386-7857. S2CID 254370104.
- ^ 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 información y aplicaciones y servicios basados en la Web - iiWAS'11, págs. 7-10, 2011.
- ^ S. Cass, "Designing for the Cloud", MIT Technology Review, 2009. [En línea]. Disponible en: 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 con uso intensivo de 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 en bases de datos" (PDF) . SIGMOD Record . 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 bases de datos en la nube, IBM.com, consultado el 1 de septiembre de 2011
- ^ Chris Kanaracus, "Ingres lanza ofertas de bases de datos en la nube", InfoWorld , 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 el 1 de junio de 2017 en Wayback Machine , Amazon Press Releases, consultado el 17 de noviembre de 2015
- ^ "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: A Database for the Cloud" (NuoDB: una base de datos para la nube). TDWI. 13 de noviembre de 2012. Consultado el 26 de noviembre de 2012.
- ^ Imágenes de máquina de Amazon: 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, consultado el 9 de noviembre de 2011.
- ^ "Oracle Database en la nube", Oracle.com, consultado el 9 de noviembre de 2011.
- ^ Chris Kanaracus, "EnterpriseDB agrega una nueva opción de nube para la base de datos PostgreSQL", 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 . Consultado el 7 de julio de 2016 .
- ^ "SAP HANA Enterprise Cloud". hana.sap.com . Archivado desde el original el 15 de agosto de 2016.
- ^ "Clustrix ingresa al programa de socios de Rackspace". Yahoo! Finance . Archivado desde el original el 14 de abril de 2016.
- ^ Tony Baer, "Cockroach DB presenta un nivel sin servidor", ZDNet.com , consultado el 13 de diciembre de 2021.
- ^ desde EnterpriseDB#cita nota-10
- ^ "Cloud SQL - Servicio de base de datos relacional MySQL" . Consultado el 28 de noviembre de 2016 .
- ^ "Anuncio del complemento de base de datos PostgreSQL de Heroku", Blog de Heroku, consultado el 9 de noviembre de 2011.
- ^ Noel Yuhanna, SQL Azure eleva el nivel de 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 análisis de big data. IGI Global. ISBN 9781466658653.
- ^ Klint Finley, "7 servicios de bases de datos basados en la nube" Archivado el 9 de noviembre de 2011 en Wayback Machine , ReadWriteWeb , consultado el 9 de noviembre de 2011.
- ^ "Configuración de Cassandra en la nube Archivado el 13 de noviembre de 2015 en Wayback Machine ", Cassandra Wiki, consultado 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] Archivado el 11 de abril de 2019 en Wayback Machine.
- ^ "Guía de instalación de máquinas virtuales de Clusterpoint Database Virtual Box Archivado el 10 de marzo de 2015 en archive.today ", Clusterpoint, consultado el 8 de marzo de 2015.
- ^ "Amazon Machine Images, CouchDB 0.10.x 32 bit Ubuntu [ enlace muerto permanente ] ", Amazon Web Services, consultado el 10 de noviembre de 2011.
- ^ "Alojamiento en la nube de CouchDB en Google Cloud Platform" . Consultado el 28 de noviembre de 2016 .
- ^ "Amazon Machine Image, Hadoop AMI [ enlace muerto permanente ] ", Amazon Web Services, consultado el 10 de noviembre de 2011.
- ^ "Cloud Dataproc: Managed Spark & Managed Hadoop Service" (en inglés) . Consultado el 28 de noviembre de 2016 .
- ^ ["http://www.rackspace.com/blog/cloud-big-data-platform-limited-availability/ Hadoop en Rackspace] Archivado el 2 de marzo de 2014 en Wayback Machine ", Rackspace Big Data Platforms, consultado 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, consultado 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 el 31 de octubre de 2012 en Wayback Machine , MongoDB.org, consultado el 10 de noviembre de 2011.
- ^ "Escale MongoDB fácilmente en Rackspace Archivado el 2 de marzo de 2014 en Wayback Machine ", Managed MongoDB ObjectRocket de Rackspace, consultado el 24 de febrero de 2014.
- ^ "Neo4J en la nube Archivado el 25 de septiembre de 2011 en Wayback Machine ", Neo4J Wiki, consultado el 10 de noviembre de 2011.
- ^ "Anuncio de Neo4J en Windows Azure", Blog de Neo4J, consultado el 10 de noviembre de 2011.
- ^ por Adrian Bridgwater, "La base de datos NoSQL en tiempo real de ScyllaDB aprovechada por una 'súper aplicación'", Computerworld , consultado el 27 de diciembre de 2012.
- ^ Andrew Brust, "Cloudant hace que NoSQL como servicio sea más grande", ZDNet , consultado el 22 de mayo de 2012.
- ^ "DataStax Astra DB: servicios administrados de DataStax con tecnología de Apache Cassandra". DataStax . Consultado el 7 de marzo de 2022 .
- ^ "Bigtable: servicio de base de datos NoSQL escalable" . Consultado el 28 de noviembre de 2016 .
- ^ "Almacén de datos: 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 de nube de base de datos NoSQL". Oracle Cloud . Consultado el 29 de noviembre de 2017 .