EdgeDB — это база данных, предназначенная для устранения некоторых фундаментальных недостатков дизайна, которые делают работу с базами данных — как реляционными, так и NoSQL — излишне обременительной.
Он думает о схеме так же, как и вы: как об объектах со свойствами, связанными ссылками. Вы можете назвать это реляционной базой данных с объектно-ориентированной моделью данных или графовой базой данных со строго соблюдаемой схемой. Мы называем это первой граф-реляционной базой данных.
Графоподобная схема с реляционным ядром
Основной единицей схемы в EdgeDB является тип объекта, аналогичный таблице в SQL. Типы объектов содержат свойства и могут быть связаны с другими типами объектов для формирования графа схемы.
Все функции, необходимые растущему приложению
В схеме EdgeDB есть нечто большее, чем свойства и ссылки. У нас есть полный набор функций современных реляционных баз данных: ограничения, значения по умолчанию, индексы, вычисляемые свойства, наследование типов, политики каскадного удаления и многое другое.
Преимущество миграций
Все миграции генерируются и отслеживаются базой данных. Вы можете в интерактивном режиме проверить работоспособность каждого шага миграции с помощью рабочего процесса миграции на основе интерфейса командной строки.
Элегантный язык запросов для более цивилизованного века
Думайте объектами, а не рядами
EdgeQL устраняет несоответствие объектно-реляционного импеданса, возвращая структурированный объект результата, а не список строк, что устраняет необходимость в стороннем ORM для денормализации результатов.
Язык запросов для разработчиков не подходит
SQL был разработан для бизнесменов 1970-х годов, и это видно. EdgeQL использует знакомый разработчикам синтаксис для представления наборов выбора, области действия, структуры и назначения свойств.
Глубокая выборка, соединения не требуются
Объявите свою схему с помощью языка схем EdgeDB. Просто запишите типы объектов, их свойства и связи между ними. Внешние ключи не требуются.
Наконец, язык запросов, который составляет
Запросы EdgeQL полностью компонуемые, что упрощает выполнение таких операций, как подзапросы и вложенные вставки.