Blog

Noticias

Database Lab Engine 2.2.0 y Joe Bot 0.9.0

Acerca de Database Lab Engine


Database Lab Engine (DLE) es una plataforma de código abierto para la experimentación con bases de datos PostgreSQL. Permite crear instantáneamente clones compactos y en tamaño real de una base de datos de producción, que pueden utilizarse para:

  • Pruebas de migraciones de bases de datos
  • Optimización de consultas SQL
  • Implementación de aplicaciones de prueba en tamaño real

Database Lab Engine puede generar clones compactos para bases de datos de cualquier tamaño, ahorrando horas (¡o días!) para la creación de copias «pesadas» de bases de datos utilizando métodos convencionales. Los clones compactos son independientes, totalmente escribibles y actuarán de forma idéntica a los de producción: contendrán los mismos datos y generarán los mismos planes de consulta.

Para más información sobre Database Lab Engine y para abrir una cuenta, visita https://postgres.ai/.

 

Database Lab Engine 2.2.0


En Database Lab Engine (DLE) 2.2.0 se ha mejorado aún más el soporte para ambos tipos de inicialización y sincronización de los directorios de datos de PostgreSQL: «físico» y «lógico». Especialmente, para el tipo «lógico» (que es útil para las implementaciones de PostgreSQL en el cloud, como en el caso de los usuarios de Amazon RDS), ahora es posible configurar múltiples discos o arrays de discos y programar la recuperación de datos de forma automática.De este modo, se eliminan las versiones más antiguas de los datos, sin que se produzcan tiempos de inactividad o interrupciones en el ciclo de vida de los clones.

Otras mejoras incluyen:

  • Autocompletado de la CLI del cliente («dblab»)
  • Configuración del contenedor de clonación – Los parámetros de Docker pueden ahora ser definidos en la configuración de DLE (como --shm--size que es necesario para prevenir errores en las nuevas versiones de Postgres a la hora de utilizar trabajadores paralelos para procesar las consultas)
  • Permite solicitar la realización de un clon con acceso de no superusuario  – Esto aparece como una nueva opción (en la API y en la CLI) llamada «restringida»

Enlaces relacionados con Database Lab Engine:

 

Joe Bot 0.9.0 – Un DBA virtual para la optimización del lenguaje SQL


«Joe Bot», es un DBA virtual para la optimización del lenguaje SQL. Representa una nueva y revolucionaria forma de solucionar problemas y optimizar el rendimiento de las consultas de PostgreSQL. En lugar de ejecutar EXPLAIN o EXPLAIN (ANALYZE, BUFFERS) directamente en producción, los usuarios pueden enviar las consultas para la resolución de problemas a Joe Bot. Joe Bot se sirve del Database Lab Engine (DLE) para:

  • Generar un nuevo clon compacto
  • Ejecutar la consulta en el clon
  • Devolver al usuario el plan de ejecución correspondiente

El plan devuelto es idéntico al de producción en términos de estructura y volúmenes de datos. Esto se consigue gracias a dos factores

  • los clones compactos contienen los mismos datos y estadísticas que la producción (en un punto específico en el tiempo), y
  • la configuración del planificador PostgreSQL en los clones coincide con la configuración de producción.

Además de obtener información fiable y segura sobre cómo se ejecutará una consulta en producción, los usuarios de Joe Bot pueden aplicar fácilmente cualquier cambio a sus propios clones compactos y observar cómo se ve afectado el comportamiento de la consulta. Por ejemplo, es posible añadir un nuevo índice y verificar si realmente ayuda a acelerar la consulta.

Una característica clave de Joe Bot es que los usuarios no pueden ver los datos directamente, sino que trabajan únicamente con los metadatos. Por lo tanto, los equipos que no tienen acceso a los datos de producción podrían obtener permisos para utilizar esta herramienta [1].

El principal cambio introducido en Joe Bot 0.9.0 consiste en mejoras en la seguridad: en las versiones anteriores se utilizaba el superusuario de la base de datos. Ahora, todas las peticiones son realizadas con privilegios de no-superusuario. Esto hace imposible usar plpythonu, COPY TO PROGRAM, FDW, o dblink para realizar copias masivas de datos fuera de infraestructuras que no cuenten con la protección de un sólido firewall. Se recomienda a los usuarios que actualicen lo antes posible.

Otra novedad importante es el estimador de la duración de la producción, actualmente en fase «experimental». Esta función está pensada para ayudar a los usuarios a determinar la duración de una operación específica (por ejemplo, una operación de creación de un índice) en una base de datos de producción, que probablemente tenga una infraestructura física diferente (por ejemplo, un sistema de archivos diferente, más memoria RAM y/o más núcleos de CPU) respecto al clon compacto que se ejecuta en el DLE. Para más información véase: «Query duration difference between Database Lab and production environments«.

Enlaces relacionados con SQL Optimization Chatbot «Joe Bot»:


[1] Aunque Joe Bot sólo devuelve metadatos, es posible examinar los datos en busca de valores específicos utilizando EXPLAIN ANALYZE. Consulta a los expertos en seguridad de tu organización antes de permitir el uso de Joe Bot a personas que no dispongan de acceso a nivel de producción.


Tanto Joe Bot como Database Lab Engine se distribuyen bajo licencia aprobada por la OSI (AGPLv3).


Agradecemos mucho tu opinión:

Haz clic aquí para leer la noticia original en inglés en la página web oficial de PostgreSQL.