The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

СУБД EdgeDB переименована в Gel. Выпуск Gel 6.0

26.02.2025 09:42

Разработчики СУБД EdgeDB объявили о переименовании проекта в Gel. Одновременно сформирован новый значительный релиз - Gel 6.0. В качестве причины смены имени упоминается желание избавиться от вводящих в заблуждение коннотаций, вызванных использованием слова "еdge", из-за которого многие воспринимают проект как СУБД для edge-вычислений или как графо-ориентированную СУБД. Переименование затронуло только элементы бренда. Структура проекта, цели и команда остались прежними. Утилиты и библиотеки в новом выпуске переименованы, но для обеспечения обратной совместимости сохранена возможность использования старых имён через символические ссылки и обвязки.

Проект развивается в форме надстройки над PostgreSQL, реализующей реляционно-графовую модель данных и язык запросов EdgeQL, оптимизированный для работы со сложными иерархическими данными. Код написан на языках Python и Rust (парсер и критичные к производительности части), и распространяется под лицензией Apache 2.0. Клиентские библиотеки подготовлены для языков Python, Go, Rust, .NET, Elixir и TypeScript/Javascript. Предоставляется инструментарий командной строки для управления СУБД и интерактивного выполнения запросов (REPL).

Вместо модели данных на основе таблиц в Gel применяется декларативная система на основе объектных типов. Вместо внешних ключей (foreign key) для определения связи между типами применяется связывание ссылками (один объект может использоваться как свойство другого объекта).


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

Поддерживаются такие возможности как строгая типизация свойств, ограничения значений свойств, вычисляемые свойства и хранимые процедуры. Из особенностей объектной схемы хранения Gel, которая чем-то напоминает ORM, отмечается возможность смешивания схем, связывания свойств из разных объектов и интегрированная поддержка JSON. Для ускорения обработки запросов могут применяться индексы.

Предоставляются встроенные инструменты для миграции схемы хранения - после изменения схемы, задаваемой в отдельном esdl-файле, достаточно выполнить команду "gel migration create" и СУБД проанализирует различия в схеме и в интерактивном режиме сгенерирует скрипт для перехода на новую схему. Автоматически отслеживается история изменения схемы.

Для формирования запросов поддерживается язык запросов GraphQL и собственный язык EdgeQL, представляющий собой адаптацию SQL для иерархических данных. Вместо списков результаты запроса оформляются в структурированном виде, а вместо подзапросов и операций JOIN предоставляется возможность указания одного запроса EdgeQL в качестве выражения внутри другого запроса. Поддерживаются транзакции и циклы.


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

Основные изменения в Gel 6.0:

  • Добавлена возможность использования традиционных SQL-запросов при подключении к СУБД при помощи протокола Gel или в режиме протокола PostgreSQL. Предполагается, что поддержка SQL упростит миграцию на Gel существующих проектов, которые теперь можно постепенно переводить с SQL, продолжая использовать старые SQL-клиенты и SQL ORM. Проекты, изначально использующие EdgeQL, смогут задействовать дополнительные возможности, которые есть в SQL, но пока не реализованы в EdgeQL, такие как оконные функции, рекурсивные запросы и явные блокировки.
  • Добавлена поддержка обновления по месту, не требующая создания и перезаливки дампа БД при переходе на новый значительный релиз. При обновлении с EdgeDB 5.x до Gil 6.0 необходимо использовать старый метод, но при переходе на c Gil 6.x на 7.0 перезаливка дампа не потребуется.
  • Обеспечено сохранение статистики о производительности запросов, которая доступна через объекты sys::QueryStats.
  • Добавлена поддержка PostgreSQL-расширения PostGIS для хранения пространственных данных, используемых в географических информационных системах.
  • Добавлена библиотека std::net для отправки сетевых запросов (поддерживается HTTP) в асинхронном режиме.​
  • В дополнение ext::auth​ добавлена поддержка настройки провайдеров OpenID Connect.
  • В дополнении ext::ai​ обновлён список список поддерживаемых больших языковых моделей от OpenAI, Anthropic и Mistral.
  • Предоставлена возможность подключения дополнительных обработчиков для команд в утилите gel.
  • В EdgeQL упрощена семантика для нахождения путей между узлами графа.
  • В gel.toml добавлена настройка "[[watch]]", позволяющая запускать скрипты при изменении указанных файлов.
  • В ORM Drizzle реализована поддержка Gel.


  1. Главная ссылка к новости (https://www.geldata.com/blog/e...)
  2. OpenNews: Выпуск СУБД OrientDB 2.2
  3. OpenNews: Релиз СУБД Neo4j 1.3, ориентированной на хранение графов
  4. OpenNews: На конференции Google I/O представлена открытая графо-ориентированная СУБД Cayley
  5. OpenNews: Для PostgreSQL подготовлено дополнение AGE для хранения данных в форме графа
  6. OpenNews: Выпуск графо-ориентированной СУБД Nebula Graph 3.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62794-edgedb
Ключевые слова: edgedb, gel, database, postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 11:30, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Странное переименование. Была такая острая и четкая, а стала какой-то аморфмной и расплывчатой.
     
     
  • 2.14, Анониматор (?), 15:11, 26/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    KDE вон уже в плазму нагрели. Всё логично
     

  • 1.10, Аноним (10), 13:05, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > как графо-ориентированную СУБД
    > реляционно-графовую модель данных

    И чё не так?

     
  • 1.11, Аноним (11), 13:08, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хоть бы указали кто и зачем это использует
     
     
  • 2.12, IdeaFix (ok), 14:27, 26/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ембеддед база для одного баузера...
     

  • 1.13, Аноним (13), 14:47, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вообще интересно, как абстракция для простеньких приложений. Есть у кого-то опыт использования?
     
     
  • 2.15, Аноним (15), 16:34, 26/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем тебе субд для приложения, 2 строчки хранить?
     

  • 1.16, Аноним (16), 19:14, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >воспринимают проект как СУБД для edge-вычислений или как графо-ориентированную СУБД

    Но ведь это и есть графо-ориентированная СУБД, не?

     
  • 1.17, Аноним (-), 19:41, 26/02/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     
  • 1.18, Аноним (18), 20:05, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А какая СУБД лучше?
     
     
  • 2.19, Карлос Сношайтилис (ok), 20:10, 26/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты задаёшь такой вопрос, то PostgreSQL
     

  • 1.20, Аноним (20), 20:28, 26/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GoonDB
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру