Open source database EdgeDB got a boost on Monday as the startup, founded in 2019, raised $15 million in series A funding.
The EdgeDB database uses the open source PostgreSQL relational database as a foundation for what it calls a graph-relational database and has built out its own query language called EdgeQL. With the new funding, EdgeDB said it will continue developing its open source technology as well as building out a cloud service it expects to be available in 2023.
EdgeDB competes with a number of different databases aimed at developers, including PlanetScale, Yugabyte and Supabase.
Jeremy BermanCo-founder and CTO, BeatGig
One organization that is using EdgeDB now is online music booking system BeatGig. BeatGig's platform uses EdgeDB to store all its data, including user data as well as artist and booking data, said Jeremy Berman, co-founder and CTO. BeatGig had previously been using Google's Firestore and Redis for its database deployments.
"EdgeDB allows us to build features much faster," Berman said. "We don't have to worry about how our relational data connects under the hood -- we just define the connections, and EdgeDB does the rest."
Reducing the object-relational impedance mismatch
The EdgeDB database is designed to be more closely aligned with how developers work today, said Yury Selivanov, co-founder and CEO of EdgeDB.
This has been a known problem for decades with how relational databases work in contrast with programming languages; it's known in computer science as the object-relational impedance mismatch.
EdgeDB elevates the relational database model from only working with tables to a higher-level data model in which objects are the primary entities that developers interact with. It incorporates a structure known as an object type that is similar in concept to a table in a traditional relational database. The key difference between the EdgeDB concept of object type and a table is how different tables are connected, according to Selivanov.
In a relational database, tables are connected with a SQL function known as a join. In EdgeDB, instead of a SQL join, there is the concept of a link, which is a way to refer something from one object to another object.
"EdgeDB allows you to think of your data not as a collection of tables, but as a collection of link objects, and you can now think of it as a graph," Selivanov said.
The mismatch is that relational databases use tables while programming languages use objects. How developers and database vendors have been able to bridge the gap is with ORM. There are different ORMs for each programming language that map tables to the objects used in that programming language.
"With EdgeDB, there is no need for ORMs because the data model of the database is already high-level enough, and your programming language is already compatible," Selivanov said. "We have this ambitious goal, which is essentially that we want to modernize relational databases."