Check out the discussion of this post on
Hacker News.
We have news! EdgeDB is rebranding as Gel, more on that below.
Let’s talk about something else first.
Something fascinating has been happening recently. PostgreSQL seems to be
quietly eating the database world.
It’s not just topping the charts, its adoption momentum is accelerating.
What’s going on? The answer is right there in the PostgreSQL.org’s tagline:
The World’s Most Advanced Open Source Relational Database
It’s not just an empty marketing boast. It’s meaningful. Let’s unpack,
starting with what I think is the most important and consequential bit:
Open Source.
Regardless of source availability, most database systems on the market today
(including MySQL) are developed by a commercial entity.
Postgres is different. It got bootstrapped at Berkeley as a
research project and released under a very liberal
MIT-like license. A decently-sized user base formed and after the university
stopped making new releases, the project (newly-renamed as PostgreSQL) was
picked up by a group of motivated hackers and that’s how Postgres as we know
it still gets developed and released today.
Arguably, this makes PostgreSQL the only mainsteam database system that is
truly open-source. It can’t be bought or
license-rug-pulled and this creates a kind of trust
that can’t be emulated in any other way.
I’m aware that the above might sound a bit funny coming from a
co-founder of a VC-backed startup. Gel is Apache-licensed and
we’re about to future-proof that, stay tuned for a blog post.
Now let’s talk about the Advanced bit.
When the POSTGRES project was begun at Berkeley in 1985, extensibility and
modularity were made the cornerstones of its design.
This is possibly one of the main factors that made PostgreSQL successful.
Custom data types, index types and operators were there since the inception.
PostgreSQL is a relational database at it’s core, but with the ability to store
(and index) JSON, spatial data, time series, vectors, it’s arguably multimodal.
Postgres might not be the best tool in any given use case, but it’s good
enough. Being able to run just one DBMS instead of 10 and do all the things
you want to do is great! (Which is why, I think, most vector database startups
are probably not going to make it in the long run.)
Also, building Postgres extensions is fun and nowadays you can even do it in
Rust.
When it comes to actually running queries, PostgreSQL’s query planner/optimizer
is decidedly state-of-the-art. Given how much more compressed and expressive
EdgeQL (Gel’s query language) is compared to SQL, it’s quite easy to write
queries that translate to hundreds of kilobytes of SQL and Postgres usually
chews through that without breaking a sweat.
PostgreSQL is the cleanest and most documented C project of this scale, and the
sheer quality of the codebase is what gives Postgres all of the powers mentioned
above while also keeping it extremely stable and secure.
So, yes, Postgres is the world’s most advanced open source relational database
(sorry, Sam!). What’s even more fascinating is that Postgres seems to have been
elevated to a sort of a de-facto standard. Have you noticed how almost every
recent database startup claims or strives for PostgreSQL wire-protocol and SQL
dialect compatibility? CockroachDB, YugabyteDB, TiDB, and even Google Spanner all either speak PostgreSQL exclusively or as an option.
Oh, and you don’t even need to build a whole new database from scratch to
achieve compute and storage elasticity, just replace Postgres’ storage layer
like AWS Aurora or Neon did and you’re good!
OK, so Postgres is awesome (and that is likely not news for you), but why such
a long intro to a rebrand announcement? It’s because this is not just a
rebrand, but also a good moment to reflect on what Gel really _is_ and where
it fits in the Postgres ecosystem and the larger market of software
infrastructure.
Where Aurora and Neon replace PostgreSQL’s storage layer, Gel replaces the
frontend layer. To oversimplify, Gel to Postgres is what TypeScript is to
JavaScript, and our business is that we write intelligent compilers for data
schemas and queries and run the outputs in Postgres efficiently.
Here lies an important point: TypeScript has been very successful in initial
adoption because it provided full compatibility with vanilla JS and allows
for incremental adoption. On the other hand, Gel historically required
complete buy-in. We are changing this today.
In Gel 6.0 we are introducing full support for SQL—not just in PostgreSQL
protocol mode, but natively in the Gel protocol as well! Additionally, Gel is
now fully supported in Drizzle (thanks, guys!). Guides will be available
shortly on how to use Prisma and SQLAlchemy with Gel.
What does this mean for the future of Gel? More compilers, more Postgres,
more ecosystem integration.
OK, a quick Q&A on the rebrand is also in order.
Why the Rebrand?
Clarity
The name “EdgeDB” is cool, but it carries some misleading connotations. “Edge”
has led some to believe we are an edge computing database or a pure graph
database—when in fact, EdgeDB is neither.
Simplicity
We wanted something short, memorable, and frictionless. Gel is easy to say,
easy to type, and, most importantly, embodies how we see our platform:
flexible, cohesive, and built to allow integrating software with databases
seamlessly.
What’s Changing (and What’s Not)?
Nothing changes aside from the name, we’re still the same company, same team,
same mission.
All tools and libraries are now available under the new name (just
substitute edgedb
with gel
). For compatibility we are shipping
shims, symlinks and transition packages under the old name, so nothing
should break.
This week is release week, keep an eye out for some more cool announcements
coming from our corner!
If you are new to Gel, the 1.0 release announcement
still provides an excellent view of what we’re building and why.
Try Gel version 6.0 in Gel Cloud now.
If you have any questions, please
reach out and we’ll be happy to help.