Base de datos en la nube - Cloud database

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

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 la base de datos constan de un componente administrador de la 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 escalan 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 estrictas relaciones que imponen las bases de datos relacionales sobre 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 de agrupamiento en las bases de datos relacionales, aunque algunas tareas básicas requieren protocolos complejos y costosos, como la sincronización de datos.

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

También es importante diferenciar entre las bases de datos en la nube que son relacionales y no relacionales o NoSQL:

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

Proveedores de bases de datos en la nube por implementación y modelo de datos
Implementación de máquinas virtuales Base de datos como servicio
Modelo de datos SQL
Modelo de datos NoSQL

Ver también

Referencias