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 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 Vector Search 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.
Qué proporciona AlloyDB
AlloyDB ofrece muchos servicios para que no tengas que compilarlos ni mantenerlos por tu cuenta. Puedes enfocarte en tus datos y dejar 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 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 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 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 Cloud que te permite explorar y administrar tus datos con una interfaz de SQL interactiva.
- Clientes de PostgreSQL: Debido a que AlloyDB es totalmente 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 facturan los recursos que usas. Los precios de AlloyDB varían según los parámetros de 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.
- 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 las instancias de AlloyDB con los protocolos estándar de PostgreSQL.
En el fondo, 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
La base de datos de PostgreSQL tradicional 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 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:
- 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 la misma 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 se basa en 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 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.
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 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 descrita anteriormente. En las siguientes secciones, se analizan en mayor profundidad las funciones clave de AlloyDB.
Funciones de bases de datos automáticas y adaptables
El motor de base de datos totalmente compatible con PostgreSQL que potencia cada nodo de AlloyDB tiene varias funciones que analizan de forma continua la estructura y la frecuencia de las consultas que controlan tus instancias, y usan esta información para sugerir mejoras de esquemas o aplicar optimizaciones de forma automática:
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 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 alta disponibilidad pueden, de manera opcional, usar instancias principales básicas de una sola zona.
Agregar instancias de grupos 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 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 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 algunos 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 clave de 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 on demand, 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 y seguros, y que funcionen de manera óptima. 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 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 están diseñadas para no causar interrupciones. Para ello, se preparan servidores de reemplazo y se intercambian rápidamente 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. Las conexiones activas a la base de datos se interrumpen momentáneamente, pero puedes seguir usando la base de datos 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 complejas y procesos de ETL 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:
vector(una versión depgvectorpersonalizada para AlloyDB AI): almacena e indexa 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 Realiza una búsqueda de vectores.alloydb_scann: Proporciona una búsqueda de vecino más cercano aproximado de alto rendimiento a través de la implementación de un índice de vecino más cercano altamente eficiente con la tecnología del algoritmo 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 invocar 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 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.alloydb_ai_nl: 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 Descripción general del lenguaje natural.
Para obtener una lista de casos de uso de las funciones 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 autohospedada: 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 explorar las opciones de implementación, 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.