EdgeDB

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.

Data Model

Object-Relational

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.

Foreign Keys

Supported

Indexes

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.

Isolation Levels

Serializable

EdgeDB only supports serializable isolation. There is currently no plan to support other isolation levels, as their internal tests indicate very little performance gains.

Query Execution

Tuple-at-a-Time Model

EdgeDB uses PostgreSQL as its query execution engine and so supports the same tuple-at-a-time model as PostgresSQL.

Storage Architecture

Disk-oriented

EdgeDB uses PostgreSQL as its backend and storage layer and so has the same disk-oriented storage architecture as PostgresSQL.

Storage Model

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.

Storage Organization

Heaps

EdgeDB uses PostgreSQL as its backend and storage layer and so has the same storage organization as PostgresSQL.

System Architecture

Shared-Everything

EdgeDB uses PostgreSQL as its backend and storage layer and so has the same system architecture as PostgresSQL.

EdgeDB Logo
Website

http://edgedb.com/

Source Code

https://github.com/edgedb/edgedb

Tech Docs

https://www.edgedb.com/docs

Twitter

@edgedatabase

Developer

MagicStack

Country of Origin

CA

Start Year

2018

Project Type

Open Source

Derived From

PostgreSQL

Licenses

Apache v2