EdgeDB is a graph-relational database that aims to solve design problems posed by relational models such as relational models such as object–relational impedance. Tables are defined as object types with links representing dependencies between tables.
It is paired with its own query language EdgeQL, that provides composable queries (that are compiled into optimized SQL) and a simplified interface for database development. EdgeDB is powered by PostgreSQL in the backend and thus inherits its ACID compliance, reliability, and performance.
Edge DB describes itself as a "graph-relational" database that inherits many characters from a relational DBMS. Data is represented as strongly-typed objects which are the equivalent of tuples in a relational DBMS. Each object is link with an immutable id, thus not requiring an extra column for uniqueness.
B+Tree Hash Table Inverted Index (Full Text) Block Range Index (BRIN)
EdgeDB supports indexes on single and multiple properties (columns/attributes) as well as arbitrary singleton expressions. Primary, foreign keys and properties declared with exclusive are automatically indexed.
Indexes are specified via \code{index on ()} in EdgeQL which is then compiled into CREATE INDEX on PostgreSQL. EdgeDB supports hash, Btree, GIN, GiST, SP-GiST and BRIN indexes.
N-ary Storage Model (Row/Record)
EdgeDB uses PostgreSQL as its backend and storage layer and so has the same n-ary storage model as PostgresSQL.
https://github.com/edgedb/edgedb
MagicStack
2018