Descripción general de AlloyDB

AlloyDB para PostgreSQL es un servicio de base de datos completamente administrado y compatible con PostgreSQL. Vincula un motor de base de datos creado por Google con una arquitectura de múltiples nodos basada en la nube para brindar rendimiento, confiabilidad y disponibilidad de nivel empresarial para tus aplicaciones más exigentes.

Casos de uso de AlloyDB

AlloyDB proporciona una alternativa escalable a PostgreSQL autoadministrado. Usa AlloyDB si deseas dedicar menos tiempo a la administración de la infraestructura y más tiempo a la compilación de aplicaciones.

AlloyDB está diseñado para cargas de trabajo exigentes, incluidas las siguientes:

  • Procesamiento transaccional y analítico híbrido (HTAP): Ejecuta consultas analíticas complejas en tus datos transaccionales activos sin afectar el rendimiento ni la disponibilidad.
  • Aplicaciones de IA de baja latencia: Compila aplicaciones de IA generativa aprovechando AlloyDB AI, que integra la búsqueda de vectores y la invocación de modelos de aprendizaje automático directamente en el motor de base de datos, lo que elimina la necesidad de un movimiento de datos externos de alta latencia.
  • Cargas de trabajo de misión crítica de nivel empresarial: Implementa aplicaciones que requieren los niveles más altos de rendimiento, confiabilidad y disponibilidad, compatibles con una arquitectura de procesamiento y almacenamiento desagregada que abarca varias zonas de disponibilidad.

Qué proporciona AlloyDB

AlloyDB ofrece muchos servicios para que no tengas que realizar la compilación y el mantenimiento por tu cuenta. Puedes enfocarte en tus datos y dejar que AlloyDB maneje las siguientes operaciones:

  • Copias de seguridad: Protege tus datos con copias de seguridad programadas automatizadas y a pedido, y un sistema de recuperación continua que permite la recuperación de un momento determinado.
  • Alta disponibilidad: Garantiza la continuidad del servicio a través de nodos redundantes ubicados en diferentes zonas, con conmutación por error automática entre ellos.
  • Administración de recursos: Optimiza el rendimiento y la eficiencia con sistemas que asignan y liberan automáticamente la memoria y el almacenamiento según sea necesario.
  • Optimización de consultas: Mejora el rendimiento de la base de datos con un asesor de índices que sugiere mejoras de esquema y un motor de columnas que acelera las consultas analíticas.
  • Seguridad y encriptación: Protege los datos en reposo con la encriptación predeterminada de Google o las claves de encriptación administradas por el cliente (CMEK) y administra el acceso con la Administración de identidades y accesos (IAM) integrada. Google Cloud

Database administration (Administra la base de datos)

AlloyDB administra la infraestructura subyacente de tu base de datos, como las copias de seguridad automatizadas, los parches de seguridad y la asignación de recursos. Sin embargo, AlloyDB no es una herramienta de administración de bases de datos independiente. Aún necesitas herramientas administrativas para administrar los esquemas, los datos y los usuarios dentro de tus bases de datos.

Puedes usar las siguientes herramientas para conectarte a tus bases de datos y administrarlas:

  • AlloyDB Studio: Es una herramienta basada en la Web integrada directamente en la Google Cloud consola que te permite explorar y administrar tus datos con una interfaz de SQL interactiva.
  • Clientes de PostgreSQL: Debido a que AlloyDB es completamente compatible con PostgreSQL, puedes usar clientes administrativos estándar y herramientas de línea de comandos, como psql y pgAdmin, para trabajar con tu base de datos.

Precios de AlloyDB

AlloyDB usa un modelo de precios basado en el consumo, lo que significa que se te factura por los recursos que usas. Los precios de AlloyDB varían según la configuración y dependen de los siguientes factores:

  • Recursos de la instancia: El tipo de máquina (cantidad de CPU virtuales y de RAM) seleccionado para tus instancias principales y de grupo de lectura.
  • Almacenamiento: La cantidad de datos almacenados en la capa de almacenamiento flexible de tu clúster.
  • Herramientas de redes: La cantidad de tráfico de salida de red de tus instancias.

Para obtener información más detallada, consulta los precios de AlloyDB para PostgreSQL.

Cómo funciona AlloyDB

Una aplicación se conecta a instancias de AlloyDB con protocolos estándar de PostgreSQL.

En segundo plano, AlloyDB usa una arquitectura desagregada y una jerarquía de recursos diseñados para maximizar la disponibilidad y el rendimiento.

Diferencia arquitectónica de PostgreSQL estándar

PostgreSQL tradicional une el motor de base de datos que procesa las consultas con el almacenamiento en el mismo servidor. AlloyDB usa una arquitectura desagregada, en la que las capas de procesamiento y almacenamiento están separadas y se escalan de forma independiente.

  • Procesamiento: Son las máquinas virtuales o los nodos que procesan tus consultas.
  • Almacenamiento: Es un motor de almacenamiento distribuido y nativo de la nube que conserva tus datos en varias zonas de disponibilidad y se escala automáticamente a medida que crecen tus datos.

Jerarquía de recursos de AlloyDB

AlloyDB organiza sus recursos en tres niveles: clústeres, instancias y nodos.

En el siguiente diagrama, se ilustra la jerarquía de recursos de AlloyDB, que incluye un clúster escalado con una instancia principal y varias instancias de grupo de lectura con balanceo de cargas:

Diagrama que muestra un clúster que contiene una instancia principal y varias instancias de grupo de lectura

  • Clúster: Es un recurso de nivel superior que actúa como un contenedor lógico para tus bases de datos, registros y otros metadatos dentro de una región. Puedes crear varios clústeres en el mismo proyecto y región.
  • Instancia: Un clúster contiene una o más instancias. Una instancia proporciona el punto de conexión para tus aplicaciones.
  • Nodo: Una instancia funciona con uno o más nodos. Un nodo es una máquina virtual (VM) dedicada a ejecutar el motor de base de datos.

¿Qué es una instancia de AlloyDB?

Una instancia de AlloyDB es el punto de acceso para tu base de datos. Cada instancia tiene una dirección IP privada y estática en tu VPC. Cuando tu aplicación envía una consulta a esta dirección IP, la instancia enruta la solicitud a sus nodos subyacentes para su procesamiento.

AlloyDB usa dos tipos de instancias:

  • Instancia principal: Proporciona acceso de lectura y escritura a tus datos. Cada clúster tiene exactamente una instancia principal. Una instancia principal puede ser de alta disponibilidad (HA) o básica.

    • Alta disponibilidad: Contiene dos nodos, un nodo activo y un nodo en espera, ubicados en diferentes zonas para la conmutación por error automática.

    • Instancia básica: Contiene un solo nodo para entornos que no son de producción que no requieren alta disponibilidad. Una instancia básica tiene solo un nodo, sin nodo en espera. Para obtener más información, consulta Reduce los costos con instancias básicas.

  • Instancia de grupo de lectura: Proporciona acceso de solo lectura para escalar tus cargas de trabajo. Puedes agregar una o más instancias de grupo de lectura, cada una con hasta 20 nodos en total en el clúster. AlloyDB balancea automáticamente las cargas de las solicitudes entre los nodos de un grupo de lectura.

Características clave

AlloyDB se distingue de una instalación de PostgreSQL estándar de varias maneras más allá de las ventajas de escalamiento vertical y horizontal inherentes a la arquitectura de varios nodos que se describió anteriormente. En las siguientes secciones, se analizan en detalle las características clave de AlloyDB.

Funciones de base de datos automáticas y adaptables

El motor de base de datos completamente compatible con PostgreSQL que alimenta cada nodo de AlloyDB tiene varias funciones que analizan continuamente la estructura y la frecuencia de las consultas que manejan tus instancias, y usan esta información para sugerir mejoras de esquema o aplicar automáticamente optimizaciones:

  • Un asesor de índices te ayuda a encontrar oportunidades para optimizar el esquema de tu base de datos con índices nuevos basados en tus patrones de uso.

  • Un motor de columnas puede acelerar el rendimiento de las consultas analíticas almacenando datos en la memoria con un formato de columnas. Esto permite que AlloyDB use técnicas de procesamiento avanzadas para analizar de manera eficiente una gran cantidad de datos de tablas cuando sea necesario.

  • Una variación adaptable de la función de limpieza automática de datos obsoletos de PostgreSQL ajusta automáticamente los parámetros relacionados con la limpieza para que se adapten mejor a la forma de tu carga de trabajo.

  • Los sistemas automáticos de administración de memoria y almacenamiento aprovechan el entorno basado en la nube y creado por Google en el que se ejecuta AlloyDB, y asignan y liberan continuamente la memoria y el almacenamiento según sea necesario para que tu clúster se ejecute con un rendimiento óptimo y eficiencia de recursos.

Alta disponibilidad

De forma predeterminada, un clúster de AlloyDB ofrece disponibilidad (HA) a través de los nodos redundantes de su instancia principal, ubicados en dos zonas diferentes, con conmutación por error automática.

Los clústeres que operan en entornos que no son de producción que no requieren HA pueden usar instancias principales básicas de una sola zona.

Agregar instancias de grupo de lectura que contengan al menos dos nodos crea más puntos de acceso con balanceo de cargas, multizonales y de alta disponibilidad a tus datos. Todas las instancias de grupo de lectura se ejecutan de forma independiente de la instancia principal.

Para obtener más información sobre las consideraciones específicas de la región, consulta Ubicación geográfica y regiones.

Copia de seguridad y recuperación ante desastres

AlloyDB incluye un sistema continuo de copia de seguridad y recuperación que te permite crear un clúster nuevo basado en cualquier momento dentro de un período de retención ajustable. Esto te permite recuperarte rápidamente de accidentes de pérdida de datos.

Además, AlloyDB puede crear y almacenar copias de seguridad completas de los datos de tu clúster, ya sea a pedido o de forma periódica. En cualquier momento, puedes restablecer una copia de seguridad a un clúster nuevo de AlloyDB que contenga todos los datos del clúster original en el momento de la creación de la copia de seguridad.

Para obtener más información, consulta Acerca de las copias de seguridad.

Como método adicional de recuperación ante desastres, puedes lograr la replicación entre regiones creando clústeres secundarios en regiones Google Cloud separadas. AlloyDB transmite datos de forma asíncrona desde un clúster principal designado a cada uno de sus clústeres secundarios. Cuando sea necesario, puedes ascender un clúster secundario a un clúster de AlloyDB con todas las funciones con instancias principales y de grupo de lectura.

Para obtener más información, consulta Acerca de la replicación entre regiones.

Seguridad y control de acceso

Puedes configurar un clúster para que requiera conexión con el proxy de autenticación seguro de AlloyDB, que usa Identity Access and Management (IAM) para el control de acceso. Google Cloud Para obtener más información, consulta Autorización.

AlloyDB usa el sistema de roles de usuario estándar de PostgreSQL para la autenticación y presenta un conjunto de roles adicionales específicos de AlloyDB. Para obtener más información, consulta Administra los roles de usuario de AlloyDB.

Encriptación

De forma predeterminada, AlloyDB protege todos los datos en reposo con los métodos de encriptación de Google. Si, en cambio, necesitas encriptar tus datos con una clave que proporcionas, puedes especificar una clave de encriptación administrada por el cliente (CMEK) cuando crees un clúster. Luego, AlloyDB usa la clave CMEK para encriptar todos los datos escritos en ese clúster.

CMEK también se aplica a las copias de seguridad. Puedes especificar una clave CMEK cuando crees una copia de seguridad a pedido, configures un programa de copias de seguridad o restablezcas una copia de seguridad.

Para obtener más información, consulta Acerca de CMEK.

Mantenimiento y actualizaciones

Durante la vida útil de un clúster de AlloyDB, pueden ocurrir dos tipos de actualizaciones:

  • Actualizaciones del sistema: Google realiza periódicamente actualizaciones del sistema para garantizar que el hardware y el software subyacentes sean confiables, seguros y tengan un rendimiento óptimo. Estas actualizaciones incluyen parches de seguridad, actualizaciones del sistema operativo y actualizaciones de versiones secundarias del servidor de PostgreSQL.
  • Actualizaciones de configuración: Son los cambios que realizas de forma manual en tu clúster o instancias para satisfacer las demandas cambiantes de la carga de trabajo. Algunos ejemplos incluyen cambiar el tamaño de la cantidad de CPU virtuales y de memoria de una instancia o modificar las marcas de la base de datos.

Las operaciones de mantenimiento de AlloyDB están diseñadas para no ser disruptivas. Esto se logra preparando servidores de reemplazo y cambiándolos rápidamente por los servidores activos cuando estén listos. Durante este proceso, las instancias principales suelen experimentar menos de un segundo de tiempo de inactividad, mientras que los grupos de lectura permanecen disponibles de forma continua. Cualquier conexión activa a la base de datos se interrumpe momentáneamente, pero puedes seguir usando tu base de datos con normalidad durante todo el proceso.

Si deseas aplicar una actualización de inmediato, incluso si eso significa un tiempo de inactividad más prolongado, puedes usar la FORCE_APPLY marca de base de datos.

AlloyDB AI

AlloyDB AI integra un conjunto de funciones de IA y AA directamente en tu base de datos de AlloyDB. Históricamente, la compilación de aplicaciones de IA requería canalizaciones de datos complejas y procesos de ETL para trasladar datos de bases de datos operativas a plataformas especializadas de IA/AA. Este método generó desafíos como el aumento de la latencia de la transferencia de datos, una mayor sobrecarga operativa por la administración de diferentes sistemas y el almacenamiento duplicado. Al integrar las capacidades de IA directamente en la base de datos, AlloyDB AI elimina la necesidad de un movimiento de datos externos extenso.

Para facilitar el desarrollo de aplicaciones de IA, AlloyDB AI proporciona las siguientes extensiones:

  • vector (una versión de pgvector personalizada para AlloyDB AI): Almacena e indexa incorporaciones vectoriales para la búsqueda semántica. Admite la ejecución de consultas híbridas y búsquedas de similitud. Para comenzar a usar la búsqueda de vectores, consulta Realiza una búsqueda vectorial.
  • alloydb_scann: Proporciona una búsqueda aproximada de vecinos más cercanos de alto rendimiento mediante la implementación de un índice de vecinos más cercanos altamente eficiente con tecnología del algoritmo ScaNN. Para obtener más información, consulta Crea un índice ScaNN.
  • google_ml_integration: Proporciona acceso a las funciones de IA, lo que permite la invocación de modelos de AA desde AlloyDB para tareas como la generación de incorporaciones, la clasificación semántica, los filtros y las uniones basados en IA, y la generación y el resumen de texto. La administración de extremos de modelos permite el registro y la invocación de modelos de IA, incluidos los modelos externos de OpenAI o Anthropic. Para obtener más información, consulta Registra un extremo de modelo y Evalúa consultas semánticas con operadores de IA.
  • alloydb_ai_nl: Permite la interacción con tu base de datos mediante lenguaje natural. Permite que los desarrolladores de aplicaciones generen consultas de SQL precisas y seguras en respuesta a preguntas en lenguaje natural del usuario final, lo que permite que los usuarios que no son de SQL accedan a los datos. Para obtener más información, consulta Descripción general del lenguaje natural.

Para obtener una lista de casos de uso de las capacidades de AlloyDB AI, consulta Compila aplicaciones de IA generativa.

Compatibilidad con extensiones

AlloyDB incluye compatibilidad con varias extensiones populares de PostgreSQL. Para obtener la lista completa, consulta Extensiones de base de datos compatibles.

Una alternativa autoalojada: AlloyDB Omni

Como alternativa a la ejecución de AlloyDB en Google Cloud, Google ofrece AlloyDB Omni. Esta edición optimizada y descargable de AlloyDB te permite ejecutar su potente motor de base de datos en tu propio entorno de procesamiento basado en Linux, dondequiera que esté.

Para obtener más información, consulta Acerca de AlloyDB Omni.

¿Qué sigue?