sql >> Base de Datos >  >> RDS >> Oracle

Servicios de base de datos en AWS y Oracle Cloud Platform

Antes de los proveedores de la nube y los servicios gestionados, las bases de datos tenían que instalarse localmente y una instalación a gran escala podía implicar la instalación de una gran cantidad de infraestructura y el mantenimiento de varios DBA. Con la llegada de los proveedores de la nube, las bases de datos locales han migrado a la nube y los requisitos de infraestructura local se han reducido, si no eliminado. Los proveedores de la nube, como Amazon Web Services (AWS) y Oracle Cloud Platform, brindan servicios administrados para los sistemas de bases de datos relacionales de uso común Oracle Database y MySQL, que DBEngines.com clasifica en el puesto 1 y 2 respectivamente. AWS también es compatible con otras bases de datos, incluidas la base de datos PostgreSQL y la base de datos de SQL Server. AWS brinda soporte para una base de datos NoSQL patentada llamada DynamoDB.

En este artículo, analizaremos las bases de datos disponibles en los proveedores de nube de AWS y Oracle Cloud Platform. Independientemente del proveedor de la nube que se utilice, algunas características son comunes a todas las bases de datos de proveedores de la nube:funciones de servicios administrados, escalables, confiables, seguras y de colaboración. Este artículo tiene las siguientes secciones y subsecciones:

  • Bases de datos en Amazon Web Services (AWS)
    • RDS
    • DynamoDB
    • Desplazamiento al rojo
    • Caché elástico
  • Bases de datos en Oracle Cloud Platform
    • Base de datos Oracle
    • Base de datos MySQL
    • Base de datos Oracle NoSQL
  • Conclusión

Bases de datos en Amazon Web Services (AWS)

Amazon Web Services (AWS) proporciona servicios administrados en diferentes categorías:

  • Servicio de base de datos relacional (RDS) para bases de datos relacionales
  • DynamoDB para bases de datos NoSQL
  • Redshift para bases de datos analíticas basadas en consultas (almacén de datos)
  • ElasticCache para caché en memoria

RDS

El Servicio de base de datos relacional es un servicio administrado alojado en la nube para las bases de datos relacionales de uso común (base de datos Oracle, base de datos MySQL, SQL Server, PostgreSQL, MariaDB y Aurora patentada), como se muestra en la Figura 1.


Figura 1: Bases de datos alojadas en el RDS

Lo que hace que RDS sea una mejor alternativa a las bases de datos locales es que RDS proporciona capacidad variable, automatización de las tareas de DBA, hardware aprovisionado en la nube y copias de seguridad y parches automáticos de bases de datos. Las bases de datos RDS proporcionan entornos de producción y desarrollo/prueba. Las bases de datos de RDS están totalmente integradas con los demás servicios de AWS, como S3, IAM, CloudWatch, Database Migration Service y CloudTrail. S3 se utiliza para el almacenamiento de copias de seguridad e instantáneas, que se utilizan para realizar copias de seguridad y restaurar una base de datos. IAM es para la gestión de acceso. CloudWatch es para monitoreo y registro. CloudTrail es para auditar llamadas de API. El Servicio de migración de bases de datos es para migrar bases de datos:migrar una base de datos local a la nube o migrar entre diferentes bases de datos en la nube. RDS ofrece la opción de implementar una base de datos en varias zonas de disponibilidad.

Las diferentes ediciones de las bases de datos comerciales Oracle y SQL Server están disponibles en RDS. Aurora es una base de datos de alto rendimiento que es totalmente compatible con las bases de datos MySQL y PostgreSQL y brinda los siguientes beneficios:

  • Alto rendimiento (5x MySQL y 3x PostgreSQL)
  • Almacenamiento SSD de escalado automático (hasta 64 TB) que es tolerante a fallas
  • Múltiples réplicas de lectura para baja latencia y conmutación por error automática
  • Tolerancia a fallas. Las fallas de disco se reparan sin pérdida de servicio.
  • Alta disponibilidad
  • Copias de seguridad incrementales y recuperación de un punto en el tiempo
  • Aislamiento de red (VPC), permisos de nivel de recursos mediante IAM y cifrado para proteger las bases de datos

Las bases de datos RDS proporcionan un punto final, como para la base de datos PostgreSQL en RDS que se muestra en la Figura 2, para el acceso con clientes SQL de uso común.


Figura 2: Base de datos PostgreSQL en RDS

DinamoDB

DynamoDB es una base de datos NoSQL de modelo de datos flexible que proporciona baja latencia (milisegundos de un solo dígito), escalado automático de capacidad de lectura y escritura con la provisión para obtener capacidad reservada, índices secundarios globales para consultas eficientes sobre cualquier campo (atributo) en una tabla, e integración con CloudWatch para monitoreo y registro. Si el tiempo de respuesta es relativamente más alto, lo que implica microsegundos, el servicio DynamoDB Accelerator (DAX) está disponible para reducir el tiempo de respuesta para obtener datos eventualmente consistentes. En la Figura 3 se muestra una tabla de DynamoDB.


Figura 3: Tabla de DynamoDB

Desplazamiento al rojo

Redshift es una base de datos (almacén de datos) para OLAP (procesamiento analítico en línea) de datos estructurados a escala de petabytes almacenados en discos locales mediante estándares SQL con la posibilidad de ampliar las consultas a datos no estructurados a escala de exabytes almacenados en S3 mediante Redshift Spectrum. Los formatos de datos abiertos como CSV, TSV, Parquet, Sequence y RCFile se pueden usar con Redshift Spectrum. Redshift ofrece las mismas funciones de servicio administrado que la mayoría de los servicios de AWS, como escalabilidad, tolerancia a fallas, copias de seguridad automatizadas, cifrado, integración para monitoreo y registro con CloudWatch y aislamiento de red con VPC. Redshift proporciona controladores ODBC y JDBC personalizados además de los controladores ODBC y JDBC de PostgreSQL estándar para el acceso mediante clientes SQL de uso común. Se puede acceder a un clúster de Redshift en un Endpoint aprovisionado, como se muestra para un clúster de Redshift en la Figura 4.


Figura 4: Cúmulo de corrimiento al rojo

Caché elástico

Amazon ElasticCache es un caché en memoria distribuido en la nube. Hay dos opciones de motor de clúster disponibles para un clúster de ElasticCache, ElasticCache para Redis y Memcached. ElasticCache para Redis es un almacén de estructura de datos en memoria que se puede utilizar como base de datos, caché y agente de mensajes. Memcache es un caché de objetos de memoria distribuida de alto rendimiento diseñado para hacer que las aplicaciones web dinámicas sean más rápidas. Hay disponibles varias opciones de tipo de nodo diseñadas para un caché, como se muestra en la Figura 5.


Figura 5: Tipos de nodos de caché

Los nodos reservados están disponibles para un ElasticCache. Las copias de seguridad automatizadas y las notificaciones de SNS están disponibles con ElasticCache. Los clientes de clúster de Memcached de ElasticCache están disponibles para diferentes lenguajes:.NET, Java y PHP. El cliente PHP está disponible para varias versiones de PHP, desde PHP 5.3 hasta PHP 7.0. En la Figura 6 se muestra una base de datos de ElasticCache.


Figura 6: Redis ElasticCache

Bases de datos en Oracle Cloud Platform

Oracle Cloud Services Platform incluye Oracle Database Cloud Service para Oracle Database y Oracle MySQL Cloud Service para base de datos MySQL. Los servicios en la nube de Oracle se agrupan en diferentes categorías al igual que los servicios de AWS. Sin embargo, Oracle Database Cloud Service es para las bases de datos, Oracle IaaS Cloud Services es para la infraestructura necesaria para ejecutar las bases de datos en la nube.

Base de datos de Oracle

Oracle Database on the Cloud está disponible en más ediciones que una base de datos independiente, como se muestra en la Figura 7.


Figura 7: Ediciones de Oracle Database en la nube

Para crear Oracle Database en la nube, haga clic en Crear servicio en el panel de Oracle Database Cloud Service, como se muestra en la Figura 8.


Figura 8: Creación de un servicio en la nube de base de datos de Oracle

Las ediciones de bases de datos admitidas son 11g R2, 12c R1 y 12c R2, como se muestra en la Figura 9.


Figura 9: Ediciones de Oracle Database

Si se utiliza 12c, se crea por defecto una Base de datos conectable, para la cual se debe configurar un Nombre de PDB (ver Figura 10). Para Copia de seguridad y recuperación, las opciones disponibles son:Disco, Nube, Disco y nube y Ninguno.


Figura 10: Configuración de un servicio Oracle Database 12c que incluye un PDB

En el tablero de la Figura 11 se muestra un servicio de Oracle Database Cloud.


Figura 11: Servicio en la nube de la base de datos de Oracle

Se crea una IP pública para Oracle Database, como se muestra en la Figura 12.


Figura 12: IP pública para Oracle Database Cloud Service

Los recursos de la base de datos incluyen las OCPU, la memoria y el almacenamiento, que también se enumeran en la Figura 12. Las OCPU, la memoria y el almacenamiento no se pueden configurar individualmente, pero se debe seleccionar una forma de cómputo con configuraciones preseleccionadas para los recursos. Una base de datos se puede escalar hacia arriba o hacia abajo, como se muestra en la opción Escalar arriba/abajo en la Figura 13.


Figura 13: Escalar arriba/abajo

Se puede seleccionar una forma de cálculo en el cuadro de diálogo Escalar arriba/abajo, como se muestra en la Figura 14.


Figura 14: Selección de una forma de cálculo

Las métricas de monitoreo están disponibles para un servicio de base de datos, como se muestra en la Figura 15.


Figura 15: Métricas de seguimiento

Base de datos MySQL

Crear un servicio de base de datos MySQL en Oracle Cloud es similar a crear un servicio de base de datos Oracle. Los ajustes de configuración de la base de datos MySQL que se deben proporcionar incluyen un nombre de servicio (como se muestra en la Figura 16), una forma de cómputo, almacenamiento de base de datos utilizable (GB), usuario de administración (raíz de forma predeterminada), contraseña de administración, nombre de esquema de base de datos y copia de seguridad. y configuración de recuperación.


Figura 16: Creación de un servicio de base de datos MySQL

Se crean un descriptor de conexión y una IP pública para un servicio de base de datos MySQL, como se muestra en la Figura 17.


Figura 17: Servicio de base de datos MySQL en Oracle Cloud

Base de datos NoSQL de Oracle

Oracle Cloud Service también proporcionará un servicio administrado para la base de datos Oracle NoSQL, cuyas características principales incluyen alta disponibilidad, transacciones, consultas paralelas, almacenamiento y consultas de datos de baja latencia, y compatibilidad con API para varios lenguajes de clientes, incluidos C, Java y Node. Oracle NoSQL en la nube proporciona un modelo de datos flexible con soporte para clave-valor, tablas y JSON para almacenamiento. El servicio Oracle NoSQL Cloud proporciona un esquema de aplicación dinámico y tiene un alto rendimiento mediante la indexación basada en valores, que indexa tipos simples y complejos (mapas y matrices) para obtener resultados de consulta eficientes e índices coherentes, que son índices locales compartidos. La administración de Oracle NoSQL en la nube se simplifica mediante el equilibrio de carga automatizado para un acceso eficiente a los datos en un clúster. La administración de clústeres incluye escalado y actualizaciones graduales. Oracle NoSQL Database Cloud Service está "próximamente".

Conclusión

En este artículo, exploramos los servicios de base de datos proporcionados por AWS y Oracle Cloud Platform. Las bases de datos en AWS y Oracle Cloud son servicios administrados con características que no son factibles en un servicio de base de datos local de escala relativamente pequeña.