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.

Para crear prototipos, desarrollar y probar con rapidez con agentes de programación, comienza con la configuración de AlloyDB Express (versión preliminar), que proporciona aprovisionamiento rápido, procesamiento con reducción de escala a cero y una actualización con un solo clic a AlloyDB listo para producción. Para obtener más información, consulta Descripción general de AlloyDB Express.

Casos de uso de AlloyDB

AlloyDB proporciona una alternativa escalable a PostgreSQL estándar autoadministrado. Usa AlloyDB si quieres dedicar menos tiempo a administrar la infraestructura y más tiempo a compilar aplicaciones.

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

  • Procesamiento híbrido transaccional y analítico (HTAP): Ejecuta consultas analíticas complejas en tus datos transaccionales activos sin afectar el rendimiento ni la disponibilidad.
  • Aplicaciones de IA de baja latencia: Crea aplicaciones de IA generativa con 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 mover datos externos con alta latencia.
  • Cargas de trabajo esenciales de nivel empresarial: implementa aplicaciones que requieran los niveles más altos de rendimiento, confiabilidad y disponibilidad, respaldadas por una arquitectura de procesamiento y almacenamiento desagregada que abarque varias zonas de disponibilidad.
  • Creación de prototipos y flujos de trabajo que usan agentes de programación de IA: usa AlloyDB Express para crear bases de datos para el desarrollo y las pruebas. Cuando la base de datos está inactiva, el cómputo se reduce la escala verticalmente a cero y no se te factura por el cómputo.

Qué proporciona AlloyDB

AlloyDB ofrece muchos servicios para que no tengas que compilarlos y mantenerlos por tu cuenta. Puedes enfocarte en tus datos y permitir que AlloyDB controle 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 memoria y almacenamiento de forma automática 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 esquemas y un motor de columnas que acelera las consultas analíticas.
  • Seguridad y encriptación: Protege los datos en reposo con Google-owned and Google-managed encryption keys o claves de encriptación administradas por el cliente (CMEK), y administra el acceso con 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 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 consola de Google Cloud 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.

Cómo funciona AlloyDB

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

AlloyDB usa una arquitectura desagregada y una jerarquía de recursos diseñada para maximizar la disponibilidad y el rendimiento.

Diferencia de arquitectura con PostgreSQL estándar

PostgreSQL estándar acopla 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 escalan 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 escala automáticamente a medida que crecen los 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: Es el punto de conexión para tus aplicaciones. Un clúster contiene una o más instancias.
  • Nodo: Es una máquina virtual (VM) dedicada a ejecutar el motor de base de datos. Uno o más nodos potencian cada instancia.

¿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 estática y privada en tu red de nube privada virtual (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.

    • Instancia con 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 sin nodo en espera, para entornos que no son de producción y que no requieren alta disponibilidad. 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 todo el clúster. AlloyDB balancea las cargas de las solicitudes automáticamente 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 descrita anteriormente. En las siguientes secciones, se analizan en mayor profundidad las funciones clave de AlloyDB.

Funciones de base de datos automáticas y adaptables

El motor de base de datos totalmente compatible con PostgreSQL que potencia cada nodo de AlloyDB analiza de forma continua la estructura y la frecuencia de tus consultas. El motor de base de datos usa esta información para sugerir mejoras en el esquema o aplicar automáticamente las siguientes 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.

  • La recuperación previa de índices acelera las consultas que leen un rango de filas a través de un índice de árbol B. La lectura en paralelo de las páginas de índice y tabla antes de que un análisis las necesite, la carga previa de índices ayuda a evitar que las consultas esperen en la E/S de almacenamiento.

  • Una variación adaptable de la función de limpieza automática de datos inactivos 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 de administración automática de memoria y almacenamiento aprovechan el entorno basado en la nube creado por Google en el que se ejecuta AlloyDB, asignando y liberando memoria y almacenamiento de forma continua según sea necesario para mantener tu clúster en funcionamiento con un rendimiento y una eficiencia de recursos óptimos.

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, de manera opcional, 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 de alta disponibilidad, multizonales y con balanceo de cargas a tus datos. Todas las instancias de grupos 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 de datos y recuperación ante desastres

AlloyDB cuenta con un sistema de copia de seguridad y recuperación continuas 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 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 desde una copia de seguridad a 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 Cloud independientes. AlloyDB transmite datos de forma asíncrona desde un clúster principal designado a cada uno de sus clústeres secundarios. En cualquier momento, puedes ascender un clúster secundario a un clúster principal o realizar una conmutación por error entre regiones (versión preliminar) para mantener automáticamente tu topología de replicación durante una interrupción.

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 una conexión con el proxy de autenticación seguro de AlloyDB, que usa IAM para el control de acceso. 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, lo que presenta varios roles adicionales específicos de AlloyDB. Para obtener más información, consulta Administra los roles de usuario de AlloyDB.

Encriptación

AlloyDB protege todos los datos en reposo con Google-owned and Google-managed encryption keys de forma predeterminada. 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 creas un clúster. Luego, AlloyDB usa la CMEK para encriptar todos los datos escritos en ese clúster.

La CMEK también se aplica a las copias de seguridad. Puedes especificar una CMEK cuando creas una copia de seguridad a pedido, configuras un programa 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 de versiones secundarias del servidor de PostgreSQL.
  • Actualizaciones de configuración: Son cambios que realizas de forma manual en tu clúster o tus instancias para satisfacer las demandas cambiantes de las cargas de trabajo. Entre los ejemplos, se incluyen cambiar el tamaño de la CPU virtual y el recuento de memoria de una instancia o modificar las marcas de base de datos.

Las operaciones de mantenimiento de AlloyDB no causan interrupciones. AlloyDB prepara los servidores de reemplazo y los intercambia con 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. El intercambio interrumpe momentáneamente las conexiones activas de la base de datos, pero puedes seguir usándola con normalidad durante todo el proceso.

Para aplicar una actualización de marca más rápido, incluso si genera un tiempo de inactividad más largo, puedes usar el modo de actualización 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 de IA requería canalizaciones de datos y procesos de ETL complejos para mover datos de bases de datos operativas a plataformas de IA y AA especializadas. Este método generó desafíos, como una mayor latencia por la transferencia de datos, una mayor sobrecarga operativa por la administración de diferentes sistemas y el almacenamiento duplicado. Con la integración de las capacidades de IA directamente en la base de datos, AlloyDB AI elimina la necesidad de un movimiento de datos externo extenso.

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

  • Extensión vector (una versión de pgvector personalizada para AlloyDB AI): almacena e indexa embeddings de vectores para la búsqueda semántica, y admite consultas híbridas y búsquedas de similitud. Para comenzar a usar la búsqueda de vectores, consulta Realiza una búsqueda de vectores.
  • Extensión alloydb_scann: Proporciona una búsqueda de vecinos más cercanos aproximados de alto rendimiento a través de la implementación de un índice de vecinos más cercanos muy eficiente con la tecnología del algoritmo ScaNN. Para obtener más información, consulta Crea un índice de ScaNN.
  • Extensión google_ml_integration: Proporciona acceso a las funciones de IA, que te permiten invocar modelos de AA desde AlloyDB para tareas como generar incorporaciones, clasificación semántica, filtros y uniones basados en IA, y generación y resumen de texto. La administración de extremos de modelos te permite registrar e invocar 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.
  • Extensión alloydb_ai_nl: Te permite interactuar con tu base de datos usando lenguaje natural. Permite que los desarrolladores de aplicaciones generen consultas en SQL precisas y seguras en respuesta a las 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 la 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.

Asistencia para extensiones

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

Una alternativa autohospedada: AlloyDB Omni

Como alternativa para ejecutar 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 explorar las opciones de implementación y los codelabs, y administrar las suscripciones en la consola deGoogle Cloud , ve a la página de la consola de AlloyDB Omni.

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

AlloyDB Express para crear prototipos y agentes de programación

AlloyDB Express es una configuración en AlloyDB para crear prototipos, desarrollar, probar y realizar flujos de trabajo con rapidez que usan agentes de programación de IA. AlloyDB Express proporciona las siguientes funciones:

  • Aprovisionamiento rápido: Las instancias están listas para aceptar conexiones en aproximadamente 2 segundos para el DNS público y en 20 segundos para los extremos de Private Service Connect.
  • Procesamiento con reducción de escala a cero: Las instancias inactivas reducen la escala verticalmente a cero, por lo que no se te factura por el procesamiento durante los períodos de inactividad.
  • Conectividad de Private Service Connect y DNS público: Puedes conectarte a tu instancia desde tu red de VPC a través de extremos de Private Service Connect o desde clientes fuera de tu red de VPC con un DNS público.
  • Actualización local a AlloyDB: Puedes actualizar un clúster de AlloyDB Express a AlloyDB con un clic.

Para obtener más información, consulta Descripción general de AlloyDB Express.

¿Qué sigue?