La base de datos EdgeDB ha sido renombrada a Gel. Lanzamiento de Gel 6.0

Los desarrolladores de la base de datos EdgeDB han anunciado el cambio de nombre del proyecto a Gel. Al mismo tiempo, se ha formado un nuevo lanzamiento significativo: Gel 6.0. La razón detrás del cambio de nombre se menciona como el deseo de deshacerse de las connotaciones engañosas que provoca el uso de la palabra 'edge', ya que muchos perciben el proyecto como una base de datos para cálculos en la nube (edge computing) o como una base de datos orientada a grafos. El cambio de nombre solo afectó a los elementos de la marca. La estructura del proyecto, los objetivos y el equipo se mantienen intactos. Las utilidades y bibliotecas en el nuevo lanzamiento han sido renombradas, pero para garantizar la compatibilidad hacia atrás se ha mantenido la posibilidad de usar los viejos nombres a través de enlaces simbólicos y envolturas.

El proyecto se desarrolla como una extensión de PostgreSQL, implementando un modelo de datos relacional y gráfico, y un lenguaje de consulta EdgeQL, optimizado para trabajar con datos jerárquicos complejos. El código está escrito en los lenguajes Python y Rust (analizador y partes críticas para el rendimiento), y se distribuye bajo la licencia Apache 2.0. Se han preparado bibliotecas de cliente para los lenguajes Python, Go, Rust, .NET, Elixir y TypeScript/Javascript. Se proporciona una herramienta de línea de comandos para gestionar la base de datos y ejecutar consultas de forma interactiva (REPL).

En Gel se aplica un sistema declarativo basado en tipos de objetos en lugar de un modelo de datos basado en tablas. En lugar de claves externas (foreign key) para definir la relación entre tipos, se utiliza la vinculación mediante referencias (un objeto puede usarse como propiedad de otro objeto).

type Person { required name: str; } type Movie { required title: str; multi actors: Person; }

Se soportan capacidades como tipado estricto de propiedades, restricciones en los valores de las propiedades, propiedades calculadas y procedimientos almacenados. Entre las características del esquema de objetos de almacenamiento de Gel, que recuerda a un ORM, se destaca la posibilidad de mezclar esquemas, vincular propiedades de diferentes objetos y soporte integrado para JSON. Para acelerar el procesamiento de consultas, se pueden utilizar índices.

Se proporcionan herramientas integradas para la migración de esquemas de almacenamiento; después de cambiar el esquema especificado en un archivo esdl, basta con ejecutar el comando «gel migration create» y la base de datos analizará las diferencias en el esquema y generará un script para la transición al nuevo esquema de manera interactiva. Se realiza un seguimiento automático del historial de cambios en el esquema.

Se admite el lenguaje de consultas GraphQL y un lenguaje propio llamado EdgeQL, que es una adaptación de SQL para datos jerárquicos. En lugar de listas, los resultados de la consulta se presentan de forma estructurada, y en lugar de subconsultas y operaciones JOIN, se proporciona la posibilidad de especificar una consulta EdgeQL como expresión dentro de otra consulta. Se admiten transacciones y ciclos.

select Movie { title, actors: { name } } filter .title = «The Matrix» insert Movie { title := «The Matrix Resurrections», actors := ( select Person filter .name in { ‘Keanu Reeves’, ‘Carrie-Anne Moss’, ‘Laurence Fishburne’ } ) }

Principales cambios en Gel 6.0:

  • Se ha añadido la posibilidad de utilizar consultas SQL tradicionales al conectarse a la base de datos mediante el protocolo Gel o en modo de protocolo PostgreSQL. Se espera que el soporte para SQL simplifique la migración a Gel de proyectos existentes, que ahora se pueden ir trasladando gradualmente de SQL, continuando con los antiguos clientes SQL y ORM SQL. Los proyectos que inicialmente utilizan EdgeQL podrán aprovechar características adicionales que están en SQL, pero que aún no se han implementado en EdgeQL, como funciones de ventana, consultas recursivas y bloqueos explícitos.
  • Se ha añadido soporte para actualizaciones en el lugar, sin necesidad de crear y volver a cargar un volcado de base de datos al pasar a una nueva versión significativa. Al actualizar de EdgeDB 5.x a Gil 6.0, es necesario utilizar el método antiguo, pero la recarga del volcado no será necesaria al pasar de Gil 6.x a 7.0.
  • Se garantiza la conservación de la estadística sobre el rendimiento de las consultas, que está disponible a través de los objetos sys::QueryStats.
  • Se ha añadido soporte para la extensión PostGIS de PostgreSQL para el almacenamiento de datos espaciales utilizados en sistemas de información geográfica.
  • Se ha añadido la biblioteca std::net para enviar solicitudes de red (se admite HTTP) de manera asíncrona.
  • Además de ext::auth, se ha añadido soporte para configurar proveedores de OpenID Connect.
  • En la actualización ext::ai, se ha renovado la lista de modelos de lenguaje de gran escala soportados por OpenAI, Anthropic y Mistral.
  • Se ha añadido la posibilidad de conectar controladores adicionales para comandos en la utilidad gel.
  • En EdgeQL, se ha simplificado la semántica para encontrar caminos entre nodos en el grafo.
  • Se ha añadido la configuración '[[watch]]' en gel.toml, que permite ejecutar scripts cuando se modifican los archivos especificados.
  • Se ha implementado el soporte para Gel en ORM Drizzle.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster