The EdgeDB database has been renamed to Gel. Gel 6.0 release.

The developers of the EdgeDB database have announced the renaming of the project to Gel. At the same time, a significant new release has been formed — Gel 6.0. The reason for the name change is cited as the desire to eliminate misleading connotations caused by the use of the word "edge," which led many to perceive the project as a database for edge computing or as a graph-oriented database. The renaming has affected only the branding elements. The project structure, goals, and team remain the same. Utilities and libraries in the new release have been renamed, but to ensure backward compatibility, the option to use the old names through symbolic links and wrappers has been retained.

The project is evolving as an extension built on PostgreSQL, implementing a relational-graph data model and the EdgeQL query language, optimized for working with complex hierarchical data. The code is written in Python and Rust (parser and performance-critical parts) and is distributed under the Apache 2.0 license. Client libraries are available for Python, Go, Rust, .NET, Elixir, and TypeScript/Javascript. A command-line toolkit is provided for managing the database and for interactive query execution (REPL).

Instead of a table-based data model, Gel employs a declarative system based on object types. Instead of foreign keys to define relationships between types, linking via references is used (one object can be used as a property of another object).

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

Features such as strict typing of properties, constraints on property values, computed properties, and stored procedures are supported. Notable aspects of Gel's object storage schema, which resembles an ORM, include the ability to mix schemas, link properties from different objects, and integrated support for JSON. Indexes may be applied to speed up query processing.

Built-in tools for storage schema migration are provided — after changing the schema specified in a separate esdl file, it is enough to execute the 'gel migration create' command, and the DBMS will analyze the schema differences and interactively generate a script to switch to the new schema. The history of schema changes is automatically tracked.

GraphQL query language and its own EdgeQL, which is an adaptation of SQL for hierarchical data, are supported for forming queries. Instead of lists, query results are presented in a structured form, and instead of subqueries and JOIN operations, the ability to specify one EdgeQL query as an expression within another query is provided. Transactions and loops are supported.

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' } ) }

Key changes in Gel 6.0:

  • The ability to use traditional SQL queries when connecting to the DBMS via the Gel protocol or in PostgreSQL protocol mode has been added. It is expected that SQL support will simplify the migration of existing projects to Gel, which can now be gradually transitioned from SQL while continuing to use old SQL clients and SQL ORM. Projects initially using EdgeQL will be able to leverage additional features available in SQL that are not yet implemented in EdgeQL, such as window functions, recursive queries, and explicit locks.
  • Support for in-place upgrades has been added, which does not require the creation and re-uploading of the database dump when transitioning to a new significant release. When upgrading from EdgeDB 5.x to Gil 6.0, the old method must be used, but when transitioning from Gil 6.x to 7.0, re-uploading the dump will not be necessary.
  • The preservation of query performance statistics, which is accessible through sys::QueryStats objects, has been ensured.
  • Support for the PostgreSQL extension PostGIS for storing spatial data used in geographic information systems has been added.
  • The std::net library for sending network requests (HTTP supported) in an asynchronous mode has been added.
  • In addition to ext::auth, support for configuring OpenID Connect providers has been added.
  • The ext::ai update includes an updated list of supported large language models from OpenAI, Anthropic, and Mistral.
  • The ability to connect additional handlers for commands in the gel utility has been provided.
  • In EdgeQL, the semantics for finding paths between graph nodes have been simplified.
  • The gel.toml file now includes a "[[watch]]" setting that allows scripts to run upon changes to specified files.
  • Gel support has been implemented in the Drizzle ORM.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster