Descripción general de AlloyDB

AlloyDB para PostgreSQL es un servicio de base de datos completamente administrado y compatible con PostgreSQL. Combina un motor de base de datos creado por Google con una arquitectura de múltiples nodos basada en la nube para ofrecer 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 administrar la infraestructura y más a crear aplicaciones.

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

  • Procesamiento híbrido transaccional y analítico (HTAP): Ejecuta consultas analíticas complejas en tus datos transaccionales en vivo sin afectar el rendimiento ni la disponibilidad.
  • Aplicaciones de IA con baja latencia: Crea 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 con alta latencia.
  • Cargas de trabajo críticas de nivel empresarial: Implementa aplicaciones que requieren los niveles más altos de rendimiento, confiabilidad y disponibilidad, respaldadas por 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 automáticas 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 en el 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 Google Cloud Identity and Access Management (IAM) integrado.

Database administration (Administra la base de datos)

AlloyDB administra la infraestructura subyacente de tu base de datos, como las copias de seguridad automáticas, 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 consola de Google Google Cloud que te permite explorar y administrar tus datos con una interfaz de SQL interactiva.
  • Clientes de PostgreSQL: Como AlloyDB es completamente compatible con PostgreSQL, puedes usar clientes administrativos y herramientas de línea de comandos estándar, 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: Es la cantidad de datos almacenados en la capa de almacenamiento flexible de tu clúster.
  • Redes: Es 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 con respecto a PostgreSQL estándar

PostgreSQL tradicional vincula 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 ajustan de forma independiente.

  • Procesamiento: Máquinas virtuales o nodos que procesan tus consultas.
  • Almacenamiento: Un motor de almacenamiento distribuido y nativo de la nube que conserva tus datos en varias zonas de disponibilidad y se ajusta 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 a 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 básica o con alta disponibilidad (HA).

    • Alta disponibilidad: Contiene dos nodos, uno activo y otro 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 y 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 grupos de lectura, cada una con hasta 20 nodos en total en todo el clúster. AlloyDB balancea automáticamente la carga de las solicitudes entre los nodos de un grupo de lectura.

Características clave

AlloyDB se distingue de una instalación estándar de PostgreSQL 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 funciones clave de AlloyDB.

Funciones de base de datos automáticas y adaptativas

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

  • 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 los 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 la tabla cuando sea necesario.

  • Una variación adaptable de la función de autovacuum de datos obsoletos de PostgreSQL ajusta automáticamente los parámetros relacionados con el vacuum 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 memoria y almacenamiento de forma continua 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 alta 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 y que no requieren HA pueden usar, de manera opcional, 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 del 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 Geografía y regiones.

Copia de seguridad y recuperación ante desastres de datos

AlloyDB cuenta con un sistema continuo de copias 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 en un clúster de AlloyDB nuevo 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 de Google Cloudseparadas. 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 promover un clúster secundario a un clúster de AlloyDB con todas las funciones que incluye instancias principales y de grupos 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 de AlloyDB seguro, que usa Google Cloud Identity Access and Management (IAM) para el control de acceso. Para obtener más información, consulta Autorización.

AlloyDB usa el sistema estándar de roles de usuario de PostgreSQL para la autenticación y presenta algunos 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 tú proporciones, 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.

Las CMEK también se aplican a las copias de seguridad. Puedes especificar una clave de CMEK cuando creas una copia de seguridad a pedido, configuras una programación de copias de seguridad o restableces desde 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 actualizaciones del sistema de forma periódica 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 secundarias de la versión del servidor de PostgreSQL.
  • Actualizaciones de configuración: Son los cambios que realizas manualmente en tu clúster o instancias para satisfacer las cambiantes demandas de la carga de trabajo. Entre los ejemplos, se incluyen cambiar el tamaño de la CPU virtual y el recuento de memoria de una instancia, o bien modificar las marcas de la base de datos.

Las operaciones de mantenimiento de AlloyDB están diseñadas para no causar interrupciones. 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. Se interrumpirán momentáneamente las conexiones activas a la base de datos, pero podrás seguir usándola con normalidad durante todo el proceso.

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

AlloyDB AI

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

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

  • vector (una versión de pgvector personalizada para AlloyDB AI): Almacena y crea índices de embeddings de vectores 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 Cómo realizar una búsqueda de vectores.
  • alloydb_scann: Proporciona una búsqueda de vecino más cercano aproximado de alto rendimiento mediante la implementación de un índice de vecino más cercano altamente eficiente potenciado por el algoritmo de ScaNN. Para obtener más información, consulta Crea un índice de 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 Cómo registrar un extremo del modelo y Cómo evaluar búsquedas semánticas con operadores de IA.
  • alloydb_ai_nl: Permite la interacción con tu base de datos a través del lenguaje natural. Permite a los desarrolladores de aplicaciones generar consultas en SQL precisas y seguras en respuesta a preguntas en lenguaje natural de los usuarios finales, lo que permite que los usuarios que no usan SQL accedan a los datos. Para obtener más información, consulta Descripción general del lenguaje natural.

Para obtener una lista de los 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 bases de datos compatibles.

Una alternativa autoalojada: AlloyDB Omni

Como alternativa a la ejecución de AlloyDB dentro de 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 se encuentre.

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

¿Qué sigue?