Blog

Noticias

Database Lab Engine 2.4: pruebas realistas de bases de datos en GitHub Actions; módulo de Terraform

Database Lab Engine

Database Lab Engine (DLE) es una plataforma para la experimentación con bases de datos PostgreSQL, distribuida bajo licencia de código abierto (AGPLv3). DLE crea de forma instantánea clones completos y de tamaño reducido de bases 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 de tamaño reducido para bases de datos de cualquier tamaño, ahorrando horas (¡o días!) necesarios para la creación de copias «pesadas» de bases de datos utilizando métodos convencionales. Los clones de tamaño reducido 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 para una demostración automatizada, visiten Postgres.ai.

Database Lab Engine 2.4

DLE 2.4 introduce dos grandes funcionalidades para aquellos que estén interesados en trabajar con clones de tamaño reducido de PostgreSQL:

  • DB Migration Checker: un nuevo componente que automatiza las pruebas de migración de bases de datos en los canales de integración y distribución continuas (CI/CD)
  • un módulo Terraform para implementar DLE en AWS utilizando el modo de aprovisionamiento «lógico».

Además, en esta versión se han realizado varias mejoras y correcciones. Pueden consultar la lista completa de cambios en el CHANGELOG.

Añadir a los canales CI/CD pruebas de cambios en la base de datos

Migraciones de bases de datos: los cambios en el esquema de la base de datos y en los datos suelen controlarse con una herramienta especial que rastrea los cambios en Git. Existen numerosas herramientas de este tipo: Flyway, Liquibase y Active Record Migrations, entre otras. Estas herramientas son necesarias para que los cambios en el esquema de la base de datos resulten sanos, fiables y predecibles.

Sin embargo, en la mayoría de los casos, las pruebas de cambios en los CI/CD resultan muy débiles, ya que se realizan utilizando una base de datos simulada, vacía o muy pequeña. Como resultado, al aumentar el tamaño de las bases de datos y las cargas de trabajo, la implementación de cambios en las mismas falla con mayor frecuencia. Este problema puede ser tan molesto para algunos que, para obviarlo, podrían considerar cambiarse a alguna base de datos NoSQL, sin esquema (aunque terminarían enfrentándose a un montón de problemas adicionales).

Con DLE 2.4 y su componente DB Migration Checker, resulta fácil realizar pruebas realistas usando clones de tamaño reducido de bases de datos PostgreSQL de todos los tamaños directamente en los canales CI/CD. Este enfoque contribuye a disminuir drásticamente el riesgo de implementar cambios perjudiciales en el esquema de la base de datos, sin sacrificar la velocidad de desarrollo.

Actualmente, DLE se integra completamente con GitHub y GitHub Actions. El código (Go) es abierto y extensible. Estamos planeando extender el soporte a otras plataformas Git y CI/CD , por lo que buscamos a quienes estén interesados en participar: únanse a nuestra Comunidad Slack o abran una incidencia en el Issue tracker de DLE.

Ejemplos

Vean ejemplos de pruebas realistas de migración de bases de datos en la entrada del blog sobre Database Lab Engine 2.4.

Módulo de Terraform para implementar DLE y sus componentes en AWS

El módulo de Terraform para Database Lab permite implementar el motor de Database Lab en entornos cloud como AWS. Encontrarán el código y el README detallado en: https://gitlab.com/postgres-ai/database-lab-infrastructure.

Enlaces

Solicitud de comentarios y contribuciones

Se agradecen los comentarios y las contribuciones:

Encontrarán una descripción detallada de las nuevas funciones de DLE 2.4 y ejemplos en la entrada del blog sobre Database Lab Engine 2.4.

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