28 min de lectura

Objetivos de aprendizaje

Al final de este módulo, podrás:

  • Explicar qué son los servicios de base de datos administrados y por qué las organizaciones los eligen en lugar de las soluciones autogestionadas
  • Describir las características principales y los casos de uso de Managed PostgreSQL, MongoDB y MariaDB
  • Identificar cuándo utilizar In-Memory DB para la caché y el análisis en tiempo real
  • Explicar cómo Event Streams for Apache Kafka habilita el procesamiento de datos en tiempo real y los escenarios de IoT

Unidad 2.5: Bases de datos y servicios de datos

Introducción

Imagine una cocina de restaurante muy ocupada donde el chef se centra por completo en crear platos increíbles, mientras que un equipo dedicado se encarga del mantenimiento de equipos, del inventario de ingredientes y de la limpieza. El chef no se preocupa por reparar los hornos ni por pedir suministros, porque esas responsabilidades corresponden a especialistas. Los servicios de base de datos administrados funcionan de la misma manera. Permiten que su equipo se concentre en construir excelentes aplicaciones, mientras que IONOS CLOUD se encarga de la infraestructura, las actualizaciones de seguridad, las copias de seguridad y el mantenimiento.

En esta unidad, explorará las ofertas de Database-as-a-Service (DBaaS) de IONOS CLOUD. Aprenderá sobre bases de datos relacionales como Managed PostgreSQL y MariaDB para datos estructurados, bases de datos de documentos como Managed MongoDB para esquemas flexibles, In-Memory DB para almacenamiento en caché ultrarrápido y Event Streams for Apache Kafka para el procesamiento de eventos en tiempo real. Comprender estos servicios le ayuda a elegir la base de datos adecuada para las necesidades de su aplicación.

1. Visión general de bases de datos administradas

Database-as-a-Service (DBaaS) ofrece motores de base de datos totalmente administrados que se ejecutan en infraestructura dedicada dentro de su centro de datos virtual. IONOS CLOUD se encarga del aprovisionamiento, la aplicación de parches, las copias de seguridad y la alta disponibilidad, mientras usted mantiene el control total sobre sus datos y la configuración de la base de datos.

1.1 Qué hace que una base de datos sea "administrada"

Un servicio de base de datos administrada asume la responsabilidad de toda la pila de la base de datos, desde el hardware y el sistema operativo hasta el motor de base de datos y el mantenimiento continuo. Usted aprovisiona un Cluster a través de Data Center Designer o API, y en cuestión de minutos tiene una base de datos lista para producción sin instalar software ni configurar servidores.

Las bases de datos administradas difieren de las implementaciones autogestionadas en varias formas clave. El proveedor de nube suministra el hardware, aplica parches de firmware y del sistema operativo, y gestiona las actualizaciones del software de base de datos. Usted evita la compra de servidores físicos, el montaje de equipos y el mantenimiento de infraestructura. Las bases de datos vienen preconfiguradas con las mejores prácticas de seguridad, copias de seguridad automatizadas y funciones de alta disponibilidad integradas. Su equipo se centra en el diseño de esquemas, la optimización de consultas y el desarrollo de aplicaciones, en lugar de las operaciones rutinarias.

1.2 Ventajas de los servicios de base de datos administrada

La siguiente tabla compara las bases de datos administradas con las implementaciones autogestionadas en áreas operativas críticas:

Área Ventajas de BD administrada Requisitos de autogestión
Hardware y firmware El proveedor aprovisiona, instala y mantiene servidores, controladores y firmware de forma automática Compra, montaje, alimentación, conexión de red y parcheo de máquinas físicas de forma manual
Configuración inicial Las bases de datos están preconfiguradas y listas para usar bajo demanda Instale el software de base de datos, ajuste parámetros, configure replicación y seguridad
Operaciones y personal El personal se centra en el desarrollo de aplicaciones en lugar de operaciones rutinarias Requiere DBAs o ingenieros para gestionar instalaciones, parches, monitorización y resolución de problemas
Parches y actualizaciones Parches regulares aplicados automáticamente durante las ventanas de mantenimiento Siga las versiones de seguridad, programe el tiempo de inactividad, pruebe actualizaciones y aplíquelas manualmente
Alta disponibilidad Clústeres HA integrados con conmutación por error y replicación automáticas Diseñe e implemente su propia topología de replicación y pruebe los procedimientos de conmutación por error
Copia de seguridad y restauración Copias de seguridad automatizadas diarias con recuperación en un punto en el tiempo Despliegue agentes de copia de seguridad, programe instantáneas, gestione la retención y pruebe restauraciones
Escalabilidad Escalado vertical y horizontal a través de API o consola Adquiera servidores más grandes, agregue nodos, reconfigure equilibradores de carga y migre datos
Seguridad Cifrado TLS, control de acceso basado en roles, conectividad de red privada Fortifique el SO, gestione certificados, configure firewalls y segmentación de red
Monitorización Métricas, registros y alertas integrados a través de los servicios de monitorización y Logging Service de la plataforma (Grafana) y API Instale agentes de monitorización, construya paneles de control, mantenga canalizaciones de alertas
Modelo de costos Facturación al minuto bajo el modelo de pago por uso para los recursos utilizados Gasto de capital por hardware, capacidad sobredimensionada, contratos a largo plazo

Las bases de datos administradas ofrecen velocidad y simplicidad al proporcionar entornos listos para producción en minutos. Ofrecen fiabilidad mediante configuraciones de alta disponibilidad automatizadas y parches con soporte del proveedor. Mejoran la eficiencia operativa al liberar a su equipo de tareas de administración rutinaria. Proporcionan flexibilidad financiera mediante precios basados en el consumo que se escalan con su uso real.

1.3 Funciones comunes de las bases de datos administradas

Todos los servicios de base de datos administrada de IONOS CLOUD comparten capacidades fundamentales que garantizan una fiabilidad y seguridad de nivel empresarial. Cada servicio se ejecuta en máquinas virtuales dedicadas con recursos de CPU, RAM y almacenamiento garantizados. Los Cluster se despliegan en LAN privadas dentro de su centro de datos virtual, garantizando el aislamiento de red y la seguridad.

La alta disponibilidad viene de serie a través de clústeres multinodo con conmutación por error automática. Si un nodo falla, el Cluster promociona automáticamente una réplica para mantener la continuidad del servicio. La replicación se puede configurar como asíncrona para el mejor rendimiento o estrictamente síncrona para una pérdida de datos cero (la disponibilidad varía según el motor).

La seguridad está integrada en cada capa. Todas las conexiones de cliente utilizan cifrado TLS para proteger los datos en tránsito. El control de acceso basado en roles le permite definir permisos granulares para usuarios y aplicaciones. Las bases de datos son accesibles solo a través de redes privadas, nunca expuestas directamente a internet. Las copias de seguridad están cifradas y se almacenan de forma segura en IONOS Cloud Object Storage.

Las copias de seguridad automatizadas se ejecutan a diario en todos los motores, con recuperación en un punto en el tiempo disponible típicamente hasta por una semana; para Managed MongoDB, la recuperación en un punto en el tiempo está disponible solo en la edición Enterprise (Business admite la restauración de instantáneas, y las copias de seguridad de Playground están deshabilitadas). Puede restaurar clústeres completos o bases de datos específicas a cualquier momento durante el período de retención. Las ventanas de mantenimiento le permiten programar parches y actualizaciones en momentos convenientes con la mínima interrupción.

La monitorización y la generación de informes están integrados en Data Center Designer y están disponibles a través de APIs. Puede seguir el uso de CPU, el consumo de memoria, la capacidad de almacenamiento, los recuentos de conexiones y el rendimiento de las consultas. Las métricas y los registros le ayudan a optimizar el rendimiento y a diagnosticar problemas antes de que afecten a los usuarios.

2. Servicios de bases de datos relacionales

Las bases de datos relacionales organizan los datos en tablas con esquemas definidos, aplican relaciones mediante claves foráneas y admiten consultas complejas mediante SQL. IONOS CLOUD ofrece dos motores de bases de datos relacionales: PostgreSQL y MariaDB.

2.1 Managed PostgreSQL

Managed PostgreSQL ofrece una base de datos PostgreSQL de clase empresarial y totalmente compatible como servicio administrado. PostgreSQL es conocido por sus funciones avanzadas, su extensibilidad y su soporte tanto para datos relacionales tradicionales como para documentos JSON modernos. Se ejecuta en clústeres dedicados con CPU, RAM y almacenamiento configurables dentro de su centro de datos virtual.

PostgreSQL admite transacciones ACID, lo que garantiza la consistencia y la fiabilidad de los datos para aplicaciones críticas. Ofrece opciones de indexación avanzadas, búsqueda de texto completo y una potente optimización de consultas. Puede utilizar extensiones de PostgreSQL para agregar funcionalidades como el soporte de datos geoespaciales (PostGIS), estadísticas avanzadas y funciones criptográficas. La base de datos maneja tanto datos estructurados en tablas como datos semiestructurados almacenados como JSON o JSONB.

Entre las capacidades clave se incluyen el escalado vertical (agregar CPU, RAM y almacenamiento sobre la marcha) y el escalado horizontal (agregar instancias de réplica para el tráfico de lectura). La alta disponibilidad se logra mediante clústeres multinodo con modos de replicación configurables. Elija la replicación asíncrona (la opción predeterminada) para obtener el mejor rendimiento, o la replicación estrictamente síncrona para garantizar el compromiso sin pérdida de datos. La replicación estrictamente síncrona requiere dos nodos operativos; se recomienda un mínimo de tres instancias para producción.

La monitorización expone las métricas del clúster a través de Data Center Designer, la API de Telemetría y Monitoring Service, con una duración de retención configurable por el cliente (una retención más prolongada aumenta el costo de almacenamiento; no se publica un período predeterminado fijo). Las copias de seguridad automatizadas combinan el archivado continuo del registro de anticipación de escritura (WAL) con copias de seguridad base diarias, lo que permite la recuperación en un punto en el tiempo durante hasta una semana. Incluso puede clonar clústeres a partir de copias de seguridad existentes para entornos de pruebas o desarrollo.

2.2 Managed MariaDB

Managed MariaDB proporciona una base de datos relacional compatible con MySQL que surgió como una bifurcación impulsada por la comunidad de MySQL. Impulsa servicios de alto tráfico como Wikipedia y WordPress.com. MariaDB ofrece la sintaxis y el comportamiento familiares de MySQL, al tiempo que añade mejoras para el rendimiento, los motores de almacenamiento y el análisis.

MariaDB es totalmente conforme con ACID y admite disparadores, procedimientos almacenados y vistas. Incluye múltiples motores de almacenamiento optimizados para diferentes cargas de trabajo, desde el InnoDB transaccional hasta los motores de almacén de columnas para análisis. El soporte nativo para funciones JSON y GIS lo hace adecuado para aplicaciones que combinan datos estructurados y semiestructurados.

El servicio ofrece escalado vertical de hasta 16 núcleos y 32 GB de RAM por nodo, con clústeres de alta disponibilidad multinodo para el cambio automático ante fallos. Cada usuario tiene 250 conexiones y max_connections está establecido en 500. El almacenamiento está respaldado por SSD, y el límite superior para el tamaño del almacenamiento es de 2 TB.

Una función única de autorestauración le permite restaurar copias de seguridad específicas o revertir a cualquier punto en el tiempo durante el período de retención de una semana directamente a través de Data Center Designer o la API. Esta capacidad reduce el tiempo de inactividad y el riesgo de pérdida de datos sin necesidad de tickets de soporte.

2.3 Elección entre PostgreSQL y MariaDB

Tanto PostgreSQL como MariaDB son excelentes bases de datos relacionales, pero destacan en diferentes escenarios. Comprender cuándo utilizar cada una le ayuda a tomar la decisión correcta para su aplicación.

Elija PostgreSQL cuando necesite funciones sofisticadas como indexación avanzada, extensiones extensas o consistencia transaccional estricta. PostgreSQL destaca en consultas analíticas complejas, aplicaciones que combinan datos relacionales y JSON, y cargas de trabajo que requieren replicación síncrona sin pérdida de datos. Es ideal para sistemas financieros, aplicaciones ERP y almacenes de datos donde las garantías ACID y la flexibilidad de las consultas son críticas.

Elija MariaDB cuando tenga conocimientos o aplicaciones existentes de MySQL, necesite una sintaxis compatible con MySQL familiar, o esté construyendo aplicaciones web y plataformas de comercio electrónico. MariaDB ofrece un excelente rendimiento para cargas de trabajo con alta concurrencia y lectura intensiva, y proporciona sólidas capacidades GIS y JSON. Es adecuado para sistemas de gestión de contenido, plataformas SaaS y escenarios donde la compatibilidad con MySQL simplifica la migración.

3. Base de datos de documentos y servicios NoSQL

Las bases de datos de documentos almacenan datos como documentos flexibles similares a JSON, en lugar de tablas con un esquema fijo. Esta flexibilidad las hace ideales para aplicaciones con modelos de datos en rápida evolución o estructuras de datos altamente variables.

3.1 Managed MongoDB

Managed MongoDB es el servicio totalmente administrado de IONOS CLOUD para la base de datos de documentos MongoDB. MongoDB almacena datos como documentos BSON (JSON binario) en colecciones, lo que permite que cada documento tenga una estructura diferente. Esta flexibilidad del esquema acelera el desarrollo al eliminar las migraciones de esquema rígidas.

MongoDB se ofrece en tres ediciones para adaptarse a diferentes necesidades. La edición Playground proporciona un clúster de un solo nodo gratuito con 2 GB de RAM, 1 vCPU y 50 GB de almacenamiento en infraestructura compartida, destinado al desarrollo y las pruebas. La edición Business ofrece plantillas predefinidas para cargas de trabajo de producción, con clústeres de múltiples instancias basados en Cube VMs y almacenamiento NVMe. La edición Enterprise proporciona un control total sobre el dimensionamiento de los nodos mediante Dedicated Core VMs, almacenamiento en bloque SSD y HDD, configuraciones de sharding, e incluye acceso al equipo de soporte profesional de MongoDB, además del soporte de IONOS CLOUD.

Las capacidades clave incluyen la escalabilidad horizontal mediante sharding integrado y conjuntos de réplicas. El sharding distribuye los datos en varios nodos para manejar conjuntos de datos masivos y un alto rendimiento de escritura. Los conjuntos de réplicas proporcionan alta disponibilidad con conmutación por error automática. MongoDB admite hasta aproximadamente 114.000 conexiones por clúster, superando con creces los límites de conexión de las bases de datos relacionales.

El almacenamiento NVMe está disponible en la edición Business, que se aloja en Cube VMs. El almacenamiento en bloque SSD o HDD está disponible en la edición Enterprise, que se aloja en dedicated core VMs. Los clústeres de múltiples instancias replican automáticamente los datos entre nodos, donde el nodo primario gestiona las escrituras y los secundarios atienden las lecturas. El servicio incluye la recopilación continua de registros con una retención de 30 días y métricas integradas para CPU, memoria, almacenamiento, conexiones y salud del clúster.

MongoDB está certificado por MongoDB Inc. y es totalmente compatible con las herramientas, controladores y la shell mongo estándar de MongoDB. Usted gestiona los clústeres a través de Data Center Designer, la API REST dedicada de MongoDB o SDKs. Las instantáneas diarias fuera del sitio se almacenan en Object Storage durante un máximo de siete días, y los clústeres Enterprise añaden la recuperación en un punto en el tiempo.

3.2 Cuándo usar MongoDB

MongoDB destaca en escenarios donde la flexibilidad del esquema es valiosa. Los proyectos de desarrollo rápido se benefician de la capacidad de cambiar la estructura de los documentos sin realizar migraciones de base de datos. Los sistemas de gestión de contenido, los backends de aplicaciones móviles y las plataformas de IoT suelen tener estructuras de datos variables que se adaptan de forma natural a los modelos de documentos.

Las cargas de trabajo con muchas escrituras aprovechan la escalabilidad horizontal de MongoDB mediante sharding. Las aplicaciones que generan volúmenes masivos de datos, como el análisis de flujos de clics o el seguimiento de eventos de usuario, pueden distribuir las escrituras en varios shards para mejorar el rendimiento. El modelo de documentos también simplifica el almacenamiento de estructuras de datos complejas y anidadas que requerirían múltiples tablas y uniones en las bases de datos relacionales.

Use MongoDB cuando su aplicación tenga requisitos en evolución y necesite agregar nuevos campos o cambiar estructuras de datos con frecuencia. Elija esta opción para aplicaciones SaaS multiinquilino donde cada inquilino puede tener campos personalizados. Considere esta opción para el análisis en tiempo real, donde la flexibilidad del esquema y las altas cantidades de conexiones son ventajas.

4. Servicios de base de datos especializados

Además de las bases de datos relacionales y de documentos tradicionales, IONOS CLOUD ofrece servicios especializados para la caché y la transmisión de eventos. Estos servicios resuelven desafíos específicos de rendimiento y arquitectura.

4.1 In-Memory DB

In-Memory DB es el servicio de base de datos totalmente administrado y compatible con Redis de IONOS CLOUD que almacena todos los datos en RAM para lograr tiempos de acceso inferiores a un milisegundo. A diferencia de las bases de datos basadas en disco que leen desde el almacenamiento, In-Memory DB sirve los datos directamente desde la memoria, lo que ofrece un rendimiento miles de veces más rápido.

El servicio se basa en Redis, un servidor de estructuras de datos en memoria de código abierto. Admite diversos tipos de datos, incluidos cadenas, mapas de dispersión, listas, conjuntos, conjuntos ordenados, mapas de bits, hyperloglogs, índices geoespaciales y flujos. Esta flexibilidad lo hace útil más allá de la simple caché de pares clave-valor.

Las opciones de persistencia le permiten equilibrar la velocidad con la durabilidad. Elija sin persistencia para una caché pura donde los datos pueden reconstruirse, instantáneas RDB para puntos de control periódicos, registro AOF (Append-Only File) para una durabilidad continua de escritura, o combine ambos para una protección máxima. La persistencia escribe los datos en SSD para que los Cluster puedan recuperarse tras los reinicios.

In-Memory DB proporciona escalabilidad vertical (agregar CPU, RAM, almacenamiento) y escalabilidad horizontal (agregar nodos). La capacidad de almacenamiento escala automáticamente en función de la RAM y del modo de persistencia elegido. La alta disponibilidad se logra mediante Cluster multinodo con replicación asíncrona de forma predeterminada, y con un modo semisíncrono opcional para una consistencia más fuerte.

La seguridad incluye conexiones de cliente cifradas con TLS, control de acceso basado en roles y despliegue solo en redes privadas. Cada instancia se ejecuta en VM de Enterprise dedicadas y es accesible solo a través de LAN privadas dentro de su VDC. Los límites de recursos incluyen una cuota predeterminada por contrato de 16 núcleos de CPU, 32 GB de RAM, 1500 GB de espacio en disco y 10 Cluster de bases de datos, con un máximo de 5 instancias por Cluster y hasta 2 TB de almacenamiento por instancia.

4.2 Casos de uso de In-Memory DB

In-Memory DB destaca como capa de caché de base de datos. Colóquelo delante de su base de datos principal para almacenar en RAM los datos a los que se accede con frecuencia. Esto reduce el número de consultas que llegan a su base de datos, disminuye la latencia y mejora la capacidad de respuesta general de la aplicación. La caché es especialmente valiosa para cargas de trabajo intensivas en lectura donde los mismos datos se acceden repetidamente por muchos usuarios.

Las aplicaciones de analítica en tiempo real utilizan In-Memory DB para procesar datos en streaming con una latencia inferior a un milisegundo. Las plataformas de publicidad en línea, los motores de recomendación y los paneles de control en tiempo real requieren un acceso instantáneo a los datos que el almacenamiento basado en disco no puede proporcionar. In-Memory DB puede agregar grandes volúmenes de eventos en memoria, realizar cálculos y servir los resultados a las aplicaciones de inmediato.

El almacenamiento de sesiones es otro caso de uso común. Las aplicaciones web almacenan los datos de sesión del usuario en In-Memory DB para un acceso rápido a través de múltiples servidores de aplicación. El almacenamiento en memoria garantiza que las búsquedas de sesión no ralenticen las interacciones del usuario. El intermediación de mensajes y las tablas de clasificación para aplicaciones de juegos también se benefician de la velocidad y del soporte de estructuras de datos que In-Memory DB proporciona.

4.3 Event Streams for Apache Kafka

Event Streams for Apache Kafka es el servicio totalmente administrado de IONOS CLOUD para la transmisión y el procesamiento de eventos en tiempo real. Apache Kafka es una plataforma de streaming distribuida que actúa como intermediario de mensajes de alto rendimiento y registro de eventos. Las aplicaciones publican flujos de eventos en temas de Kafka, y otras aplicaciones se suscriben a esos temas para procesar eventos en tiempo real.

Kafka organiza los datos en temas, que se particionan y replican en múltiples intermediarios para lograr escalabilidad y durabilidad. Las particiones permiten el procesamiento paralelo manteniendo el orden de los mensajes dentro de cada partición. La replicación garantiza que los datos no se pierdan si un intermediario falla. Los productores escriben eventos en temas, y los consumidores leen eventos a su propio ritmo, lo que permite arquitecturas flexibles.

IONOS CLOUD Event Streams proporciona cinco tamaños de Cluster predefinidos, desde XS hasta XL, cada uno con CPU, RAM y almacenamiento SSD dedicados. Puede escalar los Cluster hacia arriba o hacia abajo a medida que cambian sus necesidades de rendimiento y almacenamiento. La alta disponibilidad está integrada mediante nodos redundantes y conmutación por error automática. Configura el factor de replicación para controlar cuántas copias de cada partición existen en los intermediarios.

La seguridad incluye comunicación cifrada con TLS, autenticación fuerte a través de certificados TLS y controles de autorización granulares. Los Cluster se conectan a LAN privadas para un tráfico de red aislado entre sus aplicaciones y Kafka. Puede ajustar las particiones, el tiempo de retención y el tamaño de retención para que coincidan con los requisitos de rendimiento y almacenamiento.

La gestión está disponible a través del Data Center Designer gráfico, las API y los SDK. Puede crear y configurar Cluster, temas, intermediarios y permisos sin necesidad de un profundo conocimiento de Kafka. El servicio gestiona la infraestructura subyacente, las actualizaciones de seguridad y la monitorización, lo que permite a su equipo centrarse en la creación de aplicaciones de streaming.

4.4 Casos de uso de Event Streams

Event Streams destaca en el procesamiento de datos en tiempo real a gran escala. Las plataformas de comercio electrónico ingieren millones de transacciones, actualizaciones de inventario e interacciones de usuarios al día. Kafka maneja este volumen a través de particionamiento y procesamiento paralelo. Los marcos de trabajo de procesamiento de flujos como Kafka Streams, Apache Flink o Spark leen de temas de Kafka, realizan un procesamiento complejo de eventos y escriben los resultados en sistemas descendentes como bases de datos o paneles de control. Esto permite la personalización en tiempo real, la detección de fraude y la analítica operativa.

La gestión de datos de IoT aprovecha Kafka para recopilar flujos continuos de miles de sensores. Las iniciativas de ciudades inteligentes despliegan Cluster de Kafka cerca de ubicaciones de borde para minimizar la latencia. Los sensores envían telemetría a temas, y las tareas de procesamiento de flujos detectan patrones, activan alertas y alimentan pipelines de IA/ML. La compactación de registros mantiene el último estado por dispositivo, mientras que las políticas de retención gestionan los datos históricos. Esta arquitectura permite la monitorización en tiempo real, la detección de anomalías y el mantenimiento predictivo.

La analítica de flujos de clics para sitios web y aplicaciones móviles es otro caso de uso común. Las interacciones del usuario fluyen hacia temas de Kafka, donde pueden analizarse en tiempo real para personalizar el contenido, detectar patrones de comportamiento y seguir métricas de negocio. Los servicios financieros utilizan Kafka para el procesamiento de transacciones, la información regulatoria y los flujos de datos de mercado, donde la baja latencia y el orden garantizado son críticos.

5. Elección del servicio de base de datos adecuado

La selección del servicio de base de datos apropiado depende de su modelo de datos, requisitos de consistencia, necesidades de escalabilidad y expectativas de rendimiento. Comprender las fortalezas de cada opción le ayuda a asociar los servicios con los requisitos de la aplicación.

5.1 Marco de decisión

La siguiente tabla compara los servicios de bases de datos de IONOS CLOUD según características clave:

Característica / Consideración Managed PostgreSQL Managed MongoDB Managed MariaDB In-Memory DB Event Streams for Kafka
Modelo de datos Relacional (SQL) con JSON y GIS Documento (BSON/JSON) Relacional (compatible con MySQL) Clave-valor con estructuras de datos Registro de eventos / Flujo de mensajes
Ideal para Transacciones complejas, cumplimiento ACID, uniones Esquemas flexibles, desarrollo rápido Aplicaciones web, migración de MySQL Caché, análisis en tiempo real Procesamiento de eventos en tiempo real, IoT
Escalabilidad Vertical + horizontal (réplicas) Vertical + horizontal (fragmentación + réplicas) Vertical + horizontal (réplicas) Vertical + horizontal Horizontal (particiones)
Consistencia Fuerte (sincronización estricta disponible) Fuerte por defecto (preocupación de escritura de mayoría con j:true; ajustable) Fuerte Eventual (configurable) Configurable por tema
Latencia Baja (milisegundos) Baja (milisegundos) Baja (milisegundos) Ultra baja (submilisegundo) Baja (milisegundos)
Tipo de almacenamiento SSD Premium (hasta 2 TB) NVMe (Business), SSD o HDD (Enterprise, hasta 4 TB) SSD (hasta 2 TB) RAM + persistencia en SSD SSD
Casos de uso Finanzas, ERP, almacenes de datos CMS, backends móviles, IoT Aplicaciones web, comercio electrónico, SaaS Almacenamiento de sesiones, paneles en tiempo real Análisis de streaming, agregación de registros

Utilice bases de datos relacionales (PostgreSQL o MariaDB) cuando necesite consistencia transaccional fuerte, uniones complejas entre múltiples tablas y esquemas bien definidos. Elija bases de datos de documentos (MongoDB) cuando su modelo de datos evolucione con frecuencia o varíe según el registro. Seleccione In-Memory DB cuando necesite caché o acceso con latencia ultra baja. Elija Event Streams cuando necesite procesar flujos de eventos de alto volumen en tiempo real.

5.2 Combinación de servicios de base de datos

Muchas aplicaciones utilizan varios servicios de base de datos juntos para cumplir diferentes requisitos. Un patrón común combina una base de datos relacional para datos transaccionales con In-Memory DB para caché. La base de datos relacional garantiza la integridad de los datos y admite consultas complejas, mientras que la caché reduce la carga y mejora los tiempos de respuesta.

Otro patrón combina una base de datos principal con Event Streams para el procesamiento en tiempo real. Las escrituras de la aplicación se dirigen a la base de datos y también se publican como eventos en Kafka. Los procesadores de flujos consumen eventos para actualizar índices de búsqueda, activar flujos de trabajo o alimentar sistemas de análisis. Esta arquitectura habilita microservicios basados en eventos y pipelines de datos en tiempo real sin acoplar directamente los sistemas.

Las plataformas de comercio electrónico podrían utilizar PostgreSQL para pedidos e inventario, MongoDB para catálogos de productos con atributos variables, In-Memory DB para sesiones de carrito de compras y Event Streams para procesar la actividad del usuario y las actualizaciones de inventario en tiempo real. Cada servicio maneja la carga de trabajo para la que está mejor diseñado, creando una arquitectura flexible y de alto rendimiento.

Casos de uso comunes

Los escenarios del mundo real demuestran cómo los servicios de base de datos de IONOS CLOUD resuelven desafíos empresariales:

  1. Plataforma de comercio electrónico con arquitectura de múltiples bases de datos: Un minorista en línea utiliza Managed PostgreSQL para el procesamiento de pedidos y transacciones financieras, donde las garantías ACID son críticas (Sección 2.1). Los catálogos de productos con atributos variables, como tallas de ropa y especificaciones de electrónica, se almacenan en Managed MongoDB para ofrecer flexibilidad de esquema (Sección 3.1). Los carritos de compra y los datos de sesión de los clientes se encuentran en In-Memory DB para un acceso instantáneo y una latencia mínima (Sección 4.1). Las secuencias de clics de los usuarios fluyen a través de Event Streams for Apache Kafka para impulsar recomendaciones en tiempo real y actualizaciones de inventario (Sección 4.3). Esta combinación asigna cada tipo de datos al servicio de base de datos óptimo.
  2. Aplicación SaaS con caché y alta disponibilidad: Una plataforma SaaS multiinquilino ejecuta Managed MariaDB para los datos de los clientes, con clústeres de alta disponibilidad multinodo que minimizan el tiempo de inactividad durante el conmutación por error y el mantenimiento (Sección 2.2). In-Memory DB almacena en caché las configuraciones de inquilino accedidas con frecuencia, reduciendo significativamente el número de consultas que llegan a la base de datos y mejorando los tiempos de respuesta (Sección 4.2). Las copias de seguridad automatizadas con recuperación en un punto específico en el tiempo protegen contra la pérdida de datos, y las capacidades de auto-restauración permiten al equipo recuperarse rápidamente de errores sin contactar al soporte. La implementación en red privada garantiza el aislamiento y la seguridad de los datos de los inquilinos.
  3. Plataforma IoT con analítica en tiempo real: Una iniciativa de ciudad inteligente recopila datos de miles de sensores de tráfico y monitores ambientales. Event Streams for Apache Kafka ingiere la telemetría de los sensores con particionamiento para el procesamiento paralelo (Sección 4.3). Las tareas de procesamiento de flujos analizan los patrones de tráfico en tiempo real y activan alertas cuando se detectan anomalías. Los datos históricos de los sensores se almacenan en Managed MongoDB utilizando colecciones de series temporales optimizadas para cargas de trabajo intensivas en escritura (Sección 3.1). In-Memory DB mantiene los estados más recientes de los sensores para actualizaciones instantáneas de los paneles de control (Sección 4.1). Esta arquitectura procesa millones de eventos por hora mientras mantiene una latencia inferior a un segundo para la toma de decisiones operativas.

Resumen

Las bases de datos y los servicios de datos son bloques de construcción fundamentales para las aplicaciones en la nube. IONOS CLOUD ofrece soluciones de bases de datos totalmente administradas que gestionan la aprovisionamiento de infraestructura, la aplicación de parches, las copias de seguridad y la alta disponibilidad, mientras usted se centra en el desarrollo de aplicaciones y el diseño de esquemas. Los servicios administrados ofrecen un tiempo de comercialización más rápido, una menor carga operativa y una facturación basada en el consumo en comparación con las implementaciones autogestionadas.

Las bases de datos relacionales como Managed PostgreSQL y MariaDB proporcionan una consistencia fuerte, transacciones ACID y capacidades de consulta SQL para aplicaciones tradicionales que requieren datos estructurados y uniones complejas. Las bases de datos de documentos como Managed MongoDB ofrecen flexibilidad de esquema y escalado horizontal para aplicaciones modernas con requisitos en evolución. Los servicios especializados, como In-Memory DB para caché y Event Streams for Apache Kafka, permiten el procesamiento en tiempo real y patrones de acceso con latencia ultrabaja.

La elección del servicio de base de datos adecuado requiere comprender su modelo de datos, sus necesidades de consistencia, sus requisitos de escalabilidad y sus expectativas de rendimiento. Muchas aplicaciones combinan varios servicios para aprovechar las fortalezas de cada uno. Comprender estas opciones le ayuda a diseñar arquitecturas que sean rentables, fiables y eficaces en costes.

Puntos clave:

  • Los servicios de bases de datos administradas gestionan automáticamente la infraestructura, la aplicación de parches, las copias de seguridad y la alta disponibilidad, lo que permite a su equipo centrarse en las aplicaciones en lugar de en las operaciones
  • Managed PostgreSQL y MariaDB proporcionan bases de datos relacionales SQL con cumplimiento ACID, adecuadas para cargas de trabajo transaccionales, sistemas financieros y almacenes de datos
  • Managed MongoDB ofrece una base de datos de documentos con esquemas flexibles y escalado horizontal para la gestión de contenido, los backends móviles y las aplicaciones que evolucionan rápidamente
  • In-Memory DB ofrece una latencia inferior al milisegundo mediante almacenamiento basado en RAM, ideal para caché, almacenamiento de sesiones y analítica en tiempo real
  • Event Streams for Apache Kafka permite el streaming de eventos de alto rendimiento para el procesamiento de datos en tiempo real, la telemetría IoT y las arquitecturas orientadas a eventos
  • La elección del servicio de base de datos adecuado depende del modelo de datos (relacional, de documentos, de clave-valor o de streaming), de los requisitos de consistencia y de las necesidades de escalabilidad

Terminología importante:

  • Database-as-a-Service (DBaaS): Servicio de base de datos totalmente administrado en el que el proveedor gestiona la infraestructura, el mantenimiento y las operaciones
  • ACID: Atomicidad, Consistencia, Aislamiento, Durabilidad: propiedades que garantizan transacciones de base de datos fiables
  • Replicación: Copia de datos entre varios nodos de base de datos para proporcionar alta disponibilidad y tolerancia a fallos
  • Point-in-Time Recovery (PITR): Capacidad de restaurar una base de datos a un momento específico dentro del período de retención de la copia de seguridad
  • Sharding: Distribución de datos entre varios nodos de base de datos para escalar horizontalmente y manejar conjuntos de datos más grandes
  • Base de datos de documentos: Base de datos NoSQL que almacena datos como documentos flexibles similares a JSON en lugar de tablas con esquema fijo
  • Base de datos en memoria: Base de datos que almacena datos en RAM para un acceso ultrarrápido con latencia inferior al milisegundo
  • Event Streaming: Flujo continuo de datos de eventos a través de un sistema de registro distribuido para el procesamiento en tiempo real

Próximos pasos

Continuar aprendiendo: Unidad 2.6: Security Services

Temas relacionados: