AlloyDB Omni es un paquete de software de base de datos descargable que te permite implementar una versión optimizada de AlloyDB para PostgreSQL en los entornos de procesamiento que administras. AlloyDB Omni y el servicio de AlloyDB completamente administrado en Google Cloudcomparten los mismos componentes principales. AlloyDB usa una capa de almacenamiento desagregada nativa de la nube, mientras que AlloyDB Omni se implementa en el almacenamiento que elijas.
La portabilidad de AlloyDB Omni te permite ejecutarlo en muchos entornos, incluidos los siguientes:
- Tus centros de datos privados
- Cualquier nube pública
- Su laptop
- Instancias de VM basadas en la nube
AlloyDB Omni ofrece varias mejoras, además de PostgreSQL estándar, que admiten la escalabilidad, la disponibilidad, la confiabilidad, el rendimiento, la IA y el lenguaje natural. Para obtener más información, consulta Adiciones de AlloyDB Omni a PostgreSQL estándar.
Casos de uso de AlloyDB Omni
AlloyDB Omni es adecuado para las siguientes situaciones:
- Necesitas una versión escalable y de alto rendimiento de PostgreSQL que debes ejecutar de forma local debido a requisitos reglamentarios o de soberanía de los datos.
- Necesitas una base de datos que siga ejecutándose incluso cuando esté desconectada de Internet.
- Deseas migrar de una base de datos heredada sin comprometerte con un servicio en la nube completamente administrado, como AlloyDB para PostgreSQL.
Características clave
- Un servidor de bases de datos 100% compatible con PostgreSQL
- Se agregó compatibilidad con AlloyDB AI, que te ayuda a crear aplicaciones de IA generativa de nivel empresarial con tus datos operativos.
- Integraciones con el Google Cloud ecosistema de IA, incluido Google Cloud Vertex AI Model Garden y herramientas de IA generativa de código abierto
Compatibilidad con las funciones de piloto automático de AlloyDB para PostgreSQL enGoogle Cloud , lo que permite que AlloyDB Omni se administre y ajuste automáticamente.
Por ejemplo, AlloyDB Omni admite la administración automática de la memoria y la función autovacuum adaptable de datos obsoletos.
El motor de columnas de AlloyDB Omni, que conserva los datos pertinentes en un formato de columnas en la memoria para obtener consultas analíticas, informes y cargas de trabajo de procesamiento híbrido transaccional y analítico (HTAP) más rápidos.
En las pruebas de rendimiento, las cargas de trabajo transaccionales en AlloyDB Omni son más del doble de rápidas, y las consultas analíticas son hasta 100 veces más rápidas que PostgreSQL estándar.
Cómo funciona AlloyDB Omni
Puedes instalar AlloyDB Omni de una de las siguientes maneras:
AlloyDB Omni para contenedores: Un contenedor de base de datos independiente. Ejecuta AlloyDB Omni en un sistema Linux con almacenamiento SSD y al menos 8 GB de memoria por CPU.
AlloyDB Omni para Kubernetes: Parte de un contenedor en un entorno de Kubernetes. El operador de Kubernetes de AlloyDB Omni es una extensión de la API de Kubernetes que te permite ejecutar AlloyDB Omni en la mayoría de los entornos de Kubernetes compatibles con CNCF.
El operador de AlloyDB Omni simplifica las operaciones básicas de la base de datos, lo que te permite automatizar implementaciones únicas o de alta disponibilidad (HA) y operaciones del día 2, como copias de seguridad, restablecimientos, conmutaciones por error y configuración de la recuperación ante desastres (DR) en varias regiones.
AlloyDB Omni para Linux (versión preliminar): Un administrador de paquetes de Red Hat (RPM) que se ejecuta directamente en una VM o en un equipo físico. AlloyDB Omni para Linux se ejecuta como un conjunto de componentes de software integrados directamente en el sistema operativo host. Utiliza el sistema de archivos estándar de Linux para el almacenamiento, lo que te permite usar tu infraestructura de almacenamiento y prácticas de administración existentes.
Tus aplicaciones se conectan a tu base de datos de AlloyDB Omni y se comunican con ella, al igual que se conectan a un servidor de base de datos de PostgreSQL estándar y se comunican con él. El control de acceso del usuario también se basa en los estándares de PostgreSQL.
Desde el registro hasta el vaciado y el motor de columnas, puedes configurar el comportamiento de la base de datos de AlloyDB Omni con marcas de base de datos.
Ventajas de ejecutar AlloyDB Omni como contenedor
Google distribuye AlloyDB Omni como un contenedor que puedes ejecutar con entornos de ejecución de contenedores, como Docker y Podman. También puedes implementar contenedores de AlloyDB Omni en un entorno de Kubernetes con muchas operaciones básicas automatizadas.
Desde el punto de vista operativo, los contenedores ofrecen las siguientes ventajas:
- Administración transparente de dependencias: Todas las dependencias necesarias se incluyen en el contenedor y Google las prueba para garantizar que sean totalmente compatibles con AlloyDB Omni.
- Portabilidad: Puedes esperar que AlloyDB Omni funcione de manera coherente en todos los entornos.
- Aislamiento de seguridad: Tú eliges a qué puede acceder el contenedor de AlloyDB Omni en la máquina anfitrión.
- Administración de recursos: Puedes definir la cantidad de recursos de procesamiento que deseas que use el contenedor de AlloyDB Omni.
- Actualizaciones y parches sin problemas: Para aplicar un parche a un contenedor, reemplaza la imagen existente por una nueva.
Ventajas de ejecutar AlloyDB Omni en un entorno de RHEL
AlloyDB Omni para Linux (versión preliminar) está diseñado para entornos en los que se prefiere una implementación de base de datos no contenerizada. Este modelo de implementación admite servidores de metal desnudo y máquinas virtuales.
Puedes instalar AlloyDB Omni para Linux directamente en un entorno Red Hat Enterprise Linux (RHEL) o compatible con Red Hat con administradores de paquetes del sistema operativo estándar.
AlloyDB Omni para Linux admite RHEL 9 y Rocky Linux 9.
Copia de seguridad y recuperación ante desastres de datos
AlloyDB Omni incluye un sistema continuo de copias de seguridad y recuperación que te permite crear un nuevo clúster de base de datos basado en cualquier momento dentro de un período de retención ajustable. Esto te permite recuperarte de accidentes que provocan la pérdida de datos.
Además, AlloyDB Omni puede crear y almacenar copias de seguridad completas de los datos de tu clúster de base de datos, ya sea a pedido o de forma periódica. En cualquier momento, puedes restablecer desde una copia de seguridad a un clúster de bases de datos de AlloyDB Omni que contenga todos los datos del clúster de bases de datos original en el momento en que se creó la copia de seguridad.
Como método adicional de recuperación ante desastres, puedes lograr la replicación entre centros de datos creando clústeres de bases de datos secundarios en centros de datos independientes. AlloyDB Omni transmite datos de forma asíncrona desde un clúster de base de datos principal designado a cada uno de sus clústeres secundarios. Cuando sea necesario, puedes promover un clúster de base de datos secundaria a un clúster de base de datos principal de AlloyDB Omni.
Componentes de AlloyDB Omni
AlloyDB Omni consta de dos conjuntos de componentes de arquitectura: componentes de PostgreSQL con mejoras de AlloyDB y componentes específicos de AlloyDB.
En el siguiente diagrama, se muestran ambos conjuntos de componentes, incluida la capa de infraestructura en la que residen los componentes y las características de cada componente.

Figura 1. Arquitectura de AlloyDB Omni
Almacenamiento de datos
AlloyDB Omni almacena los datos en páginas de tamaño fijo que se almacenan en el sistema de archivos subyacente. Cuando una consulta necesita acceder a los datos, AlloyDB Omni primero verifica el búfer de memoria. Si las páginas que contienen los datos requeridos no se encuentran en el búfer, AlloyDB Omni las lee del sistema de archivos.
Acceder a los datos desde el búfer es mucho más rápido que leerlos desde el sistema de archivos. Maximizar el tamaño del grupo de búferes para los datos a los que accede una aplicación es un factor importante. De manera opcional, puedes agregar una capa de caché ultrarrápida para mejorar aún más el rendimiento de las consultas.
Administración de recursos
AlloyDB Omni usa la administración dinámica automática de memoria para permitir que el grupo de búferes crezca y se reduzca de forma dinámica dentro de los límites configurados, según las demandas de memoria del sistema. Por lo tanto, no es necesario ajustar el tamaño del búfer. Cuando diagnostiques problemas de rendimiento, primero considera métricas como la tasa de aciertos del grupo de búferes y la tasa de lectura para determinar si tu aplicación se beneficia del grupo de búferes. Si no es así, significa que el conjunto de datos de la aplicación no cabe en el búfer y podrías considerar cambiar el tamaño a una máquina más grande con más memoria.
El proceso de recuperar, filtrar, agregar, ordenar y proyectar datos requiere recursos de CPU en el servidor de la base de datos. Para reducir la cantidad de recursos de CPU necesarios para este proceso, minimiza la cantidad de datos que se deben manipular. Supervisa el uso de CPU en el servidor de la base de datos para asegurarte de que el uso en estado estable sea de alrededor del 70%. Esta cantidad deja suficiente espacio en el servidor para los picos de uso o los cambios en los patrones de acceso con el tiempo. Ejecutar el sistema cerca del 100% de utilización introduce una sobrecarga debido a la programación de procesos y el cambio de contexto, y podría crear cuellos de botella en otras partes del sistema. El uso elevado de la CPU es otra métrica clave que se debe usar cuando se toman decisiones sobre las especificaciones de la máquina.
Las operaciones de entrada/salida por segundo (IOPS) son un factor importante en el rendimiento de las aplicaciones de bases de datos, ya que miden cuántas operaciones de entrada o salida por segundo puede proporcionar el dispositivo de almacenamiento subyacente a la base de datos. Para evitar superar los límites de IOPS del almacenamiento de la base de datos, minimiza las lecturas y escrituras en el almacenamiento maximizando la cantidad de datos que caben en el búfer o en la capa de caché.
Motor de columnas
El motor de columnas integrado acelera el procesamiento de consultas analíticas que suelen implicar análisis de tablas completas, uniones complejas y agregaciones.
Almacén de columnas en memoria: Contiene datos de tablas y vistas materializadas para las columnas seleccionadas en un formato orientado a columnas. De forma predeterminada, el almacén de columnas consume el 30% de la memoria disponible. Para cambiar la cantidad de memoria que puede usar el almacén de columnas, configura el parámetro
google_columnar_engine.memory_size_in_mben elpostgresql.confque usa tu instancia de AlloyDB Omni.Planificador de consultas y motor de ejecución de columnas: Admite el uso del almacén de columnas en las consultas.
Administración automática de la memoria
El administrador de memoria automático supervisa y optimiza continuamente el consumo de memoria en toda una instancia de AlloyDB Omni. Cuando ejecutas tus cargas de trabajo, este módulo ajusta el tamaño de la caché del búfer compartido según la presión de la memoria.
De forma predeterminada, el administrador de memoria automático establece el límite superior en el 80% de la memoria del sistema y asigna el 10% de la memoria del sistema a la caché de búfer compartido.
Para cambiar el límite superior del tamaño de la caché de búfer compartida, establece el parámetro shared_buffers en el postgresql.conf que usa tu instancia de AlloyDB Omni.
Autovacuum adaptable
La aspiración automática adaptable analiza las operaciones según la carga de trabajo de la base de datos y ajusta automáticamente la frecuencia de la aspiración. Este ajuste automático ayuda a la base de datos a mantener un rendimiento óptimo, incluso cuando cambia la carga de trabajo, sin interferencias del proceso de vacío.
El autovacuum adaptable usa los siguientes factores para determinar la frecuencia y la intensidad de las operaciones de vacuum:
- Tamaño de la base de datos
- Cantidad de tuplas inactivas en la base de datos
- Antigüedad de los datos en la base de datos
- Cantidad de transacciones por segundo en comparación con la velocidad estimada de VACUUM
- Uso de recursos
Trabajador de IA/AA
En AlloyDB Omni, el trabajador en segundo plano de IA/AA proporciona las capacidades necesarias para llamar a los modelos de Vertex AI directamente desde la base de datos. El trabajador de AA/IA se ejecuta como un proceso llamado omni ml worker.
¿Qué sigue?
- Elige un entorno de implementación de AlloyDB Omni.
- Comienza a usar AlloyDB Omni para contenedores.
- Comienza a usar AlloyDB Omni para Kubernetes.
- Comienza a usar AlloyDB Omni para Linux.