Volver al inicio

Soluciones MySQL en PostgreSQL: arquitectura Polar para alto rendimiento

Análisis técnico de la integración de soluciones MySQL en PostgreSQL mediante arquitectura Tantor Polar. Desglose de la implementación de separación compute y almacenamiento usando RDMA y NVMe-oF. Comparación con Oracle RAC y otras soluciones.

Innovaciones de Tantor: cómo las optimizaciones MySQL aceleran PostgreSQL
Advertisement 728x90

Integrando soluciones de MySQL en PostgreSQL: Innovaciones arquitectónicas para alto rendimiento

En la conferencia PG BootCamp 2026, Alexey Kopytov (autor de sysbench y exdesarrollador en MySQL AB/Percona) presentó una charla sobre la adaptación de optimizaciones del ecosistema MySQL a PostgreSQL. La lección principal: aprovechar soluciones probadas para potenciar la tolerancia a fallos y el rendimiento de PostgreSQL en sistemas de alta carga. De particular interés es la implementación de la tecnología de separación compute-storage, adaptada por el equipo de Tantor a partir de Alibaba PolarDB.

La principal ventaja de este enfoque es mantener la compatibilidad total con PostgreSQL mientras se incrementa significativamente el throughput. A diferencia del sharding o soluciones distribuidas (Citus, Greenplum), la arquitectura Tantor Polar maneja consultas cross-shard sin sacrificar las garantías ACID, lo cual es crítico para sistemas OLTP.

Clasificación de soluciones arquitectónicas para SGBD

Alexey Kopytov propuso una clasificación clara de los enfoques existentes para separar nodos de compute y storage:

Google AdInline article slot
  • Sistemas de sharding y MPP (Greenplum, Citus): separación a nivel del parser SQL. Problema: falta de consistencia a nivel de punto único en el tiempo (xid/SCN)
  • SGBD transaccionales distribuidos (Spanner, YugabyteDB): procesamiento de transacciones en nodos de storage
  • Arquitecturas «LOG is DB» (Amazon Aurora, Neon): primacía del change log, procesamiento WAL en storage
  • Arquitectura Polar (Tantor Polar): separación directamente sobre la capa de storage

La distinción clave del enfoque Polar es minimizar los cambios en el core de PostgreSQL. Todas las optimizaciones se implementan a nivel de sistema de archivos (PolarFS), lo que permite:

  • 100% de compatibilidad con aplicaciones existentes (incluyendo 1C)
  • Evitar cambios invasivos en el core de PostgreSQL
  • Soporte para herramientas de backup existentes

Arquitectura Tantor Polar: Implementación técnica

El sistema se construye sobre tres componentes clave:

  • PolarFS: sistema de archivos de alto rendimiento sobre RDMA/NVMe-oF
  • Red RDMA: para la comunicación entre nodos de compute y storage
  • PostgreSQL modificado: con cambios mínimos en el subsistema I/O

Una característica destacada es el uso de Linux MD Cluster como capa base para dispositivos de bloque. Esta solución proporciona:

Google AdInline article slot
  • Latencias de acceso a datos comparables a SSD local (5-10 μs)
  • Escalado transparente de nodos de compute independiente del storage
  • Soporte para modo Active-Active en nodos RW

Importante: PolarFS opera a través de la interfaz POSIX estándar, eliminando la necesidad de modificaciones en el core de PostgreSQL. Todos los cambios se limitan al driver del sistema de archivos, lo que simplifica enormemente el upstreaming y el mantenimiento.

Comparación con Oracle RAC y otras soluciones

Aunque conceptualmente similar a Oracle RAC, las diferencias son significativas:

  • Protocolo de transferencia de datos: Polar usa NVMe-oF sobre RDMA, RAC usa un protocolo propietario
  • Nivel de separación: Polar separa a nivel de sistema de archivos, RAC a nivel de ASM
  • Código abierto: PolarFS se publicará como open source, a diferencia de ASM

La implementación de RDMA merece una mención especial. Intentos tempranos (en PostgresPro 10-11) requerían modificaciones profundas en el core de PostgreSQL. Tantor adoptó un enfoque no invasivo a través del driver del sistema de archivos, lo que permite:

Google AdInline article slot
  • Eliminación de problemas de latencia de acceso asimétrica
  • Rendimiento uniforme en todos los nodos de compute
  • Preservación del mecanismo estándar de manejo WAL

Lecciones clave

  • Compatibilidad sin compromisos: Tantor Polar soporta todas las funciones de PostgreSQL, incluidos JOINs complejos y transacciones
  • Rendimiento RDMA: latencias equiparables a SSD local (5-10 μs) sobre la red
  • Escalabilidad: compute y storage escalan de forma independiente
  • Apertura: PolarFS estará disponible bajo una licencia open source
  • Preparado para producción: la solución ya se usa en XData Gen.3 con una configuración de 3 nodos de storage + N de compute

Detalles de implementación técnica

Componentes clave de la arquitectura:

// Example of RDMA integration into the I/O subsystem
static int polarfs_submit_io(struct io_request *req) {
    if (use_rdma) {
        return rdma_send(req->buffer, req->length);
    }
    return posix_write(req->fd, req->buffer, req->length);
}

Las optimizaciones se centran en tres áreas:

  • Gestión de buffers: caché de metadatos en nodos de compute
  • Manejo WAL: envíos RDMA asíncronos con acknowledgments
  • Gestor de locks: implementación distribuida sin punto único de fallo

Se prestó especial atención a los casos límite:

  • Recuperación tras caídas de conexión RDMA
  • Manejo de latencias de red asimétricas
  • Garantía de atomicidad en operaciones de escritura

Los benchmarks con PolarFS muestran:

  • Aumentos de throughput del 35-40% bajo alta carga
  • Latencias en percentil 99 reducidas 2.3x
  • Transacciones por segundo pico aumentadas un 28%

Conclusión

El enfoque de Tantor demuestra cómo adaptar soluciones entre ecosistemas de SGBD puede generar ganancias importantes. La clave del éxito: mínima invasividad y un enfoque en la compatibilidad. La arquitectura Polar desbloquea nuevas posibilidades de escalado para PostgreSQL en escenarios que antes requerían cambios radicales en las aplicaciones o un paso a NoSQL.

Notablemente, la implementación no exige hardware especializado, solo soporte de red RDMA y NVMe-oF. Esto la hace accesible para un amplio rango de organizaciones que enfrentan crecientes cargas en sus clústeres PostgreSQL existentes.

— Editorial Team

Advertisement 728x90

Leer después