EdgeDB 4.0, arrives with support improvements, multiple ranges and more

EdgeDB

EdgeDB is a new database that comes with a strictly typed declarative schema.

The release of new version of EdgeDB 4.0, which arrives a little less than 4 months after the launch of 3.0 and in this new version and branch (4.x) various improvements are presented, among which working with ranges is highlighted by adding a multiple range data type, a complete authentication service, new extensions and more.

For those who do not know about EdgeDB, you should know that this is an open source database designed as a successor to SQL and the relational paradigm, it is mentioned that its objective is to solve difficult design problems that make the use of existing databases unnecessarily cumbersome.

Powered by the Postgres query engine, EdgeDB thinks of schema as objects with properties connected by links. It is like a relational database with an object-oriented data model or a graph database with a strict schema (graph relational database).

Main new features of EdgeDB 4.0

In this new version of EdgeDB 4.0 that is presented, one of the most important new features of the launch is the support for full text search, implemented through the fts plugin and in which it is mentioned that its most interesting aspect is the design of the API, since it isDesigned to be flexible and works well not only with the built-in PostgreSQL FTS, but also with external engines like Elastic.

Another of the changes that stands out in the new version is the authentication service, which works separately from the database instance and in which also added “auth” extension, which supports OAuth with Apple, Azure (Microsoft), GitHub or Google, all with minimal configuration.

In addition to this, it is also highlighted that it has been added a new “multirange” data type, which defines one or more ranges of values ​​to represent intermittent intervals. Normalization of overlapping areas within specified ranges is done automatically. All functions and operators previously available for processing ranges can work with the "multirange" type.

Of the other changes What I know stands out from this new version:

  • Optimizations have been made to improve performance.
  • Memory consumption on the server is reduced by 40%. The EdgeQL query parser code has been rewritten in Rust.
  • EdgeQL has added support for a more familiar syntax of conditional expressions (if…then…else…)
  • The ability to use conditional DML to create, update, and delete multiple objects based on specific conditions is provided.
  • Added and enabled authentication support by default to restrict access to GraphQL and EdgeQL over HTTP.
  • Added pgcrypto extension which provides hmac, gen_salt and crypt functions for hashing and encryption.
  • Added pg_trgm extension with functions to determine string similarity.
  • Added a new way to pass global values ​​to GraphQL queries: instead of using a separate field.

Finally for those interested in knowing more about it, you should know that the code is written in Python and Rust and is distributed under the Apache 2.0 license. You can consult more about it, in the following link

How to install EdgeDB on Linux?

For those interested in being able to install this database on their system, they can do so in a fairly simple way. Just open a terminal and in it you must type the following command:

curl --proto '=https' --tlsv1.2 -sSf https://sh.edgedb.com | sh

Or in the case of Debian, Ubuntu and derivatives, you can install this DB with the following commands:

sudo mkdir -p /usr/local/share/keyrings && \ sudo curl --proto '=https' --tlsv1.2 -sSf \ -o /usr/local/share/keyrings/edgedb-keyring.gpg \ https: //packages.edgedb.com/keys/edgedb-keyring.gpg
echo deb [signed-by=/usr/local/share/keyrings/edgedb-keyring.gpg]\ https://packages.edgedb.com/apt \ $(grep "VERSION_CODENAME=" /etc/os-release | cut -d= -f2) main \ | sudo tee /etc/apt/sources.list.d/edgedb.list
sudo apt-get update && sudo apt-get install edgedb-4

While in the case of RHEL, CentOS and distributions derived or based on these:

sudo curl --proto '=https' --tlsv1.2 -sSfL \ https://packages.edgedb.com/rpm/edgedb-rhel.repo \ > /etc/yum.repos.d/edgedb.repo
sudo yum install edgedb-4

Last but not least, he invited you to consult the documentation for the configuration of this DB on your system.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.