Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure HorizonDB es un servicio de base de datos nativo de nube totalmente administrado y listo para ia basado en PostgreSQL. Combina una arquitectura de proceso y almacenamiento desagregada con un diseño de base de datos como registro para ofrecer un rendimiento predecible, seguridad de nivel empresarial, alta disponibilidad y escalabilidad perfecta para cargas de trabajo críticas.
Azure HorizonDB permite a los desarrolladores crear aplicaciones inteligentes con tecnología de inteligencia artificial a través de la compatibilidad nativa con incrustaciones de vectores e integración con Fundición de IA de Azure Tools, a la vez que conserva la compatibilidad completa de PostgreSQL para que las aplicaciones existentes puedan migrar fácilmente a Azure HorizonDB.
Casos de uso de Azure HorizonDB
Azure HorizonDB es una alternativa escalable nativa en la nube a PostgreSQL autoadministrada y está diseñada para cargas de trabajo críticas no limitadas a, entre otras:
- Cargas de trabajo transaccionales (OLTP): procesamiento de transacciones de alto rendimiento y baja latencia con un rendimiento predecible para aplicaciones de línea de negocio, plataformas de comercio electrónico y back-end de SaaS.
- Aplicaciones inteligentes e inteligencia artificial : la compatibilidad con la búsqueda e inserción de vectores nativos le permite crear canalizaciones de generación aumentada por recuperación (RAG), motores de recomendaciones y búsqueda semántica directamente dentro de la capa de base de datos. La administración de modelos de IA y las canalizaciones de IA simplifican aún más la creación de aplicaciones inteligentes dentro de la base de datos.
- Escalado horizontal de lectura masivo: aplicaciones que pueden beneficiarse del escalado horizontal de lectura con datos resistentes a zonas compartidas.
- Aplicaciones híbridas - Integración con el ecosistema de Azure, replicando los datos transaccionales en OneLake de Fabric e integrándolos con otros datos analíticos.
Arquitectura de Azure HorizonDB
Azure HorizonDB se basa en dos principios básicos de arquitectura: separación del proceso y el almacenamiento, y un diseño de base de datos como registro.
Proceso y almacenamiento desagregados
La arquitectura separa completamente la capa de proceso de la capa de almacenamiento:
- Capa de proceso - El proceso en Azure HorizonDB no utiliza estado. Los recursos de proceso (núcleos virtuales y memoria) se pueden escalar de forma independiente sin afectar al almacenamiento y viceversa. Puede escalar horizontalmente la capacidad de lectura añadiendo réplicas al clúster de HorizonDB.
- Capa de almacenamiento: la capa de almacenamiento usa dos flotas de almacenamiento creadas específicamente: una dedicada para WAL, otra para los datos; ambos tienen durabilidad respaldada por Azure almacenamiento. Todo el almacenamiento es resistente a la zona de forma predeterminada. El almacenamiento se escala automáticamente a medida que crecen los datos, independientemente del nivel de proceso aprovisionado.
La separación del proceso y el almacenamiento proporciona varias ventajas:
- Escale el proceso y el almacenamiento de forma independiente en función de las demandas de carga de trabajo.
- Aprovisionamiento rápido de réplicas de lectura, ya que comparten el mismo almacenamiento subyacente y no se necesita replicación de datos.
- Conmutación por error más rápida para garantizar la alta disponibilidad, ya que se utiliza un almacenamiento WAL duradero compartido y no es necesario rebobinar los registros.
Arquitectura de la base de datos como registro
Azure HorizonDB adopta una arquitectura de base de datos como registro, donde lo único que se escribe desde la capa de cómputo en la capa de almacenamiento es el WAL (registro de escritura anticipada). Las páginas de datos no se escriben desde las réplicas de cómputo hacia la capa de almacenamiento. WAL es la fuente de información fidedigna en todo el sistema.
- Todas las operaciones de escritura (Write ahead Log) se agregan a un servicio de registro persistente antes de ser confirmadas al cliente. El servicio WAL está optimizado para la semántica de un registro de transacciones y optimizado para baja latencia.
- WAL filtrado se envía solo a los nodos de almacenamiento a los que pertenecen los cambios.
- Los nodos de almacenamiento reconstruyen el estado de las páginas mediante la aplicación del WAL, lo que elimina los cuellos de botella tradicionales de E/S de los puntos de control.
- Este enfoque reduce la amplificación de escritura y ofrece una latencia de escritura coherente y predecible independientemente del tamaño de la base de datos.
La combinación de estos dos principios permite a Azure HorizonDB ofrecer un alto rendimiento, una baja latencia y un uso eficiente de los recursos, a la vez que se mantienen las garantías acid completas.
Clúster
Un recurso Azure HorizonDB aprovisionado es un clúster. Un clúster de Azure HorizonDB tiene:
- Una o varias réplicas de proceso, una de ellas es una principal de escritura y el resto son réplicas en espera de lectura.
- Una única copia de los datos en un almacenamiento con resistencia de zona, compartida por todas las réplicas del clúster.
- Punto de conexión de lectura y escritura que siempre apunta a la réplica principal.
- Un punto de conexión de solo lectura que equilibra la carga de las conexiones a todas las réplicas legibles.
Réplicas de proceso
Una réplica de proceso de Azure HorizonDB puede ser la réplica principal (grabable) o una réplica en espera que sea legible, mientras que también es candidata para la conmutación por error. La réplica de proceso es donde reside el motor relacional de PostgreSQL y dónde se produce el lenguaje, la consulta y el procesamiento de transacciones. Todas las interacciones con el clúster de Azure HorizonDB tienen lugar a través de las réplicas de proceso. Para tener resistencia zonal, necesita al menos dos réplicas en el clúster. Puede agregar o quitar réplicas al clúster de Azure HorizonDB a medida que la carga de trabajo la necesite.
Las réplicas de computación cuentan con 8 GB de memoria por cada núcleo aprovisionado. Las réplicas de computación también tienen una caché SSD local. Esta caché es una caché NVMe de baja latencia que almacena en caché las páginas activas y minimiza la necesidad de capturar datos de la capa de almacenamiento remoto. La memoria caché está presente en todas las réplicas, el nodo principal y el nodo en espera.
Las réplicas de cómputo se utilizan de forma eficiente, ya que delegan en la capa de almacenamiento las tareas relacionadas con la durabilidad y la alta disponibilidad. Esta delegación de carga proporciona más recursos de CPU, disco y red para ejecutar la lógica de negocio de las aplicaciones en la base de datos. Las siguientes tareas se trasladan de las réplicas de cómputo a la capa de almacenamiento.
| tarea | Proceso de PostgreSQL | Ahorro de recursos |
|---|---|---|
| Envío del WAL desde réplicas | walsender | E/S de disco, E/S de red |
| Archivado de WAL en Blob Storage | Archivador | E/S de disco, E/S de red |
| Escritura de páginas sucias | escritor en segundo plano | E/S de disco |
| Creación de punto de comprobación | gestor de puntos de control | E/S de disco |
| Backups | pg_dump, pg_basebackup, pg_backup_start, pg_backup_stop | E/S de disco |
| Escrituras de página completa | Back-end que realiza la escritura de WAL | E/S de disco |
| Recuperación del WAL de PostgreSQL | arranque de recuperación | E/S de disco |
| Rehacer una réplica de lectura de PostgreSQL | arranque de recuperación | E/S de disco |
Storage
Azure HorizonDB ejecuta dos flotas de almacenamiento respaldadas por Azure Blob Storage. Todas las capas de la pila de almacenamiento tienen resistencia de zona de forma predeterminada.
Almacenamiento WAL
El servicio WAL es un servicio diseñado específicamente que acepta WAL de la réplica de cómputo principal y está optimizado para una baja latencia y para los patrones de escritura de WAL. Cuando se realiza un cambio de datos (inserción, actualización o eliminación) en la réplica principal, WAL se escribe en el servicio WAL y se confirma la transacción. A continuación, WAL se aplica de forma asincrónica a las particiones de datos correspondientes de la flota de almacenamiento de datos para aplicar los cambios más recientes. Además, WAL se envía a las réplicas secundarias de proceso para reaplicar todos los cambios en las páginas que están en memoria en las réplicas. Después, el WAL se archiva en el almacenamiento de blobs de Azure y se conserva durante el periodo de retención a corto plazo configurado.
Almacenamiento de datos
El conjunto de almacenamiento de datos es una memoria caché de todos los datos de la base de datos y suministra datos a todas las réplicas de cómputo del clúster de Azure HorizonDB. El almacenamiento se asigna dinámicamente a medida que la base de datos crece sin necesidad de configurar el tamaño de almacenamiento o IOPS. Los datos de las relaciones postgres se particionan en varios nodos de almacenamiento de la flota para proporcionar una escalabilidad mejorada. Hay varias copias de del mismo fragmento de datos almacenadas en distintas zonas para lograr resiliencia. A medida que el WAL se vuelve a ejecutar en la flota de almacenamiento, las páginas desfasadas se escriben después en Azure Blob Storage.
almacenamiento de blobs de Azure
Azure Blob Storage proporciona durabilidad para los datos de la base de datos y también sirve como almacén de datos para el archivado de WAL. Los datos se almacenan en cuentas de almacenamiento con redundancia de zona. Las copias de seguridad de la base de datos se implementan como instantáneas de los blobs.
Precio
Azure HorizonDB cobra actualmente:
- Capacidad de cómputo aprovisionada en horas de núcleo,
- Almacenamiento de base de datos usado (GB/mes) y
- Se ha usado el almacenamiento de copia de seguridad para el período de retención a corto plazo.
Para obtener más detalles de precios, consulte la página de precios.
Limitaciones
Azure HorizonDB se encuentra actualmente en preview. Las siguientes características aún no están disponibles, estamos trabajando activamente en estas características.
| Feature | Situación | Notas |
|---|---|---|
| Retención de copia de seguridad configurable | Todavía no está disponible | Actualmente, la retención de copia de seguridad es de siete días. Estamos trabajando para habilitar la retención de copias de seguridad de 1 a 35 días |
| Réplicas de lectura entre regiones | Todavía no está disponible | Todavía no se admite la replicación entre regiones para la recuperación ante desastres. |
| Claves administradas por el cliente (CMK) para el cifrado | No disponible | Actualmente, el cifrado en reposo solo usa claves administradas por el servicio. |
| Ventanas de mantenimiento configurables | Todavía no está disponible | Actualmente, las actualizaciones se producen en una ventana de mantenimiento administrado por el sistema. La capacidad de configurar ventanas de mantenimiento personalizadas aún no está disponible |
| Agrupación de conexiones (PgBouncer) | Todavía no está disponible | Se puede usar un agrupador de conexiones externas mientras estamos trabajando en la agrupación de conexiones al servicio. |
| Retención a largo plazo (LTR) | No disponible | Actualmente, la retención de copia de seguridad es de siete días. |
| Optimización de índices | Todavía no está disponible | El ajuste del índice estará disponible próximamente. |
| Inserción de red virtual | No disponible | Actualmente admitimos el enlace privado. Todavía no se admite la integración de red virtual |
Note
Esta lista refleja el estado actual del servicio y está sujeto a cambios a medida que se publican nuevas funcionalidades. Consulte las notas de la versión para conocer las últimas actualizaciones.
Regiones de Azure
Azure HorizonDB está disponible actualmente en las siguientes regiones de Azure:
| Geography | Regions |
|---|---|
| Americas | Centro de Canadá, Centro de EE. UU., Este de EE. UU., Oeste de EE. UU. 2, Oeste de EE. UU. 3 |
| Europe | Centro-oeste de Alemania, Centro de Suecia |
| Asia Pacific | Este de Australia |
Note
La disponibilidad de la región está sujeta a cambios y pronto agregaremos más regiones. Algunas regiones pueden tener restricciones en las nuevas implementaciones. Para obtener la disponibilidad más reciente de la región, consulte el portal de Azure o póngase en contacto con Soporte técnico de Azure.
Comentarios y soporte técnico
Si tiene preguntas o sugerencias sobre Azure HorizonDB, puede obtener ayuda y soporte técnico a través de los siguientes canales:
- Para ponerse en contacto con el soporte técnico de Azure, envíe una solicitud desde el portal de Azure.
- Para corregir un problema con la cuenta, envíe una solicitud de soporte técnico en Azure Portal.
- Para proporcionar comentarios o solicitar nuevas características, cree una entrada a través de UserVoice.