Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: EdgeDB Cloud and 4.0 with FTS and Auth (edgedb.com)
69 points by 1st1 on Nov 1, 2023 | hide | past | favorite | 28 comments
Hi there! This is Yury, a co-founder.

We've been busy for a while building EdgeDB Cloud and now it's finally here.

EdgeDB Cloud is pretty cool and takes full advantage of our database. You get declarative schema, strict typing throughout, great performance, a query language that's best of GraphQL & SQL, and many many other perks.

The Cloud itself is quite unique because of EdgeDB. Our query language gives you composability - so you can fetch everything for your page or API endpoint in one network request. And our protocol and client libraries give you auto recovery on network errors, automatic transaction retry, built-in transparent connection pooling, and many other benefits.

Check out the blog post where we explain it all. And watch the currently ongoing YouTube Premiere of the launch!



EdgeDB is by far one of my favorite startups in the developer tooling scene, and even though I don't get to use it actively on my day job am still watching it with awe from outside.

My only humble question is whether the lack of a "dynamic" query builder for Python will continue when the TS had it for so long? I understand the point of Python typing not being expressive enough to support this, but it's a language problem and I don't think EdgeDB should be the one trying to solve it. I'd love if I can just write my queries within my business logic directly and iterate without any sort of delays as opposed to writing them somewhere else (creating new files), generating the APIs, trying something, and repeating this whole process when I want to change anything.


Huge thanks <3 Hearing this kind of feedback means a lot, truly.

We'll try to get Python query builder out of the gate in the next couple of months. It's been requested forever, we'll try to make time for it. You're totally right that it's a missing puzzle piece right now.

On the bright side, codegen works really well. Put your EdgeQL query in an .edgeql file and our tooling will generate you a fully typed function around it. And with the new `if` expression in EdgeDB 4.0 you'll be able to do thing like:

    if (<str>$user_id) 
    then (select ...)
    else (insert ...);


Glad to hear the doors are not shut for Python query builder!


Absolutely not! Our goal is to eventually have query builders for every language we support (which is pretty much every language, lol).


Any for elixir?


I hope the tooling in .NET library gets more investment.


There is a work-in-progress query builder support for .NET: https://github.com/edgedb/edgedb-net/tree/feat/querybuilder-...


Oh neat. I didn't realize a query builder is being worked on.


The product itself seems pretty polished at this point -- I think the next phase for EdgeDB will be the more "social" challenge of getting a critical mass of real-world users.

EdgeDB seems to know this, which is why a large chunk of this video is devoted to outside users talking about what they're building.


NextJS solo dev people would probably be interested. We like to be on the cutting edge and are not scared of trying a new thing!

While hobbyists may not be where the money is at, if good they’ll start evangelising at work.


Interesting. Could you share more about the performance characteristics of EdgeDB + TypeScript vs say Prisma + other DB?


That's a good question! Prisma (not to single it out, basically any ORM on the market) struggle with composition. What this means is that an innocently looking API call in your ORM can translate into a multitude of actual SQL queries sent to the server one by one. This just balloons the database latency of your backend degrading quality of service everywhere.

EdgeDB's TypeScript query builder gives you the same type safety benefit that Prisma gives you, but its main feature is that it builds EdgeQL for you. And EdgeQL is very, very good for composition and pipelining multiple operations in one single query. You can select multiple unrelated object hierarchies, update / insert them, introspect your schema, all in one query easily.

This is very visible in benchmarks: https://www.edgedb.com/blog/why-orms-are-slow-and-getting-sl...

And we plan to write a post about cloud benchmarks soon to further illustrate this point.


We wrote a blog post about this specifically: https://www.edgedb.com/blog/why-orms-are-slow-and-getting-sl...


I've been using EdgeDB for a while now and love the developer experience, congrats on the launch!

In your Keynote someone talked about ReScript which is new to me, what is the relationship between ReScript and EdgeDB? Is it just a replacement for Typescript?


Thank you!

We invited Gabriel because we think what he's building is pretty cool. It showcases so much about EdgeDB: its type system, data model, query language, composability, introspection, etc.

I'm not a ReScript user myself. What I know is that it's a functional programming language somewhat heavily inspired by OCaml. Their website goes into details [1]

[1] https://rescript-lang.org/


I can't believe how rapidly EdgeDB is developing. Like they just offhandedly mention "oh, by the way, any string column can be made full-text-searchable -- just use this kind of index."


We're just warming up :)


You mentioned that EdgeDB's query language combines the best of GraphQL and SQL. How it achieves this, and what advantages it offers over traditional query languages?


We've spent a lot of time formally defining our data model (a paper will be soon published on that, stay tuned!) and the query language. Designing it we had a few goals in mind:

* composability shouldn't be limited for any part of the language. You can shift things around and they'll continue to work. EdgeQL kinda feels like writing Python or JS code.

* performance should be great, and that is made possible by two things: we're building on top if Postgres (basically using it as the engine replacing its frontend) and by writing a sophisticated compiler from EdgeQL to optimized SQL.

* readability -- we always wanted EdgeQL to be quick to learn and master, and on average it takes just a couple of minutes for someone to write their first query, you can try it yourself in your browser here [1]

[1] https://www.edgedb.com/tutorial


Is edgeDB open source? Can you run it without "cloud"?


Yes. Apache 2.0 licensed with lots of focus on local-first development.


DB space is very exciting now.

I was looking at Edgedb, and then surrealdb. These db can make a solo devs life so much easier


This looks awesome, congrats on the launch!

Do you any plans supporting Wasm? (Let’s say, via Wasmer! ;) )


Thanks! Wasm in a context of a database is something I'm super excited about :)

My dream would be making it easy to install native extensions, say a numerical or ML library, to your database, locally or in the cloud. With EdgeDB we can make it especially nice, given that we control all of the tooling and the query language. A wasm extension could theoretically add new storage type, new functions and operators, and EdgeQL would make using it in queries feel good.

Another use case would be allowing you to deploy API handlers compiled into wasm and let EdgeDB manage them for you. Builtin connection pooling + fast connect + keeping them in sync with the version of the schema you just deployed or are deploying would be pretty cool.

We've had some promising early experiments in this area but need some time to do it properly!


How does EdgeDB Cloud compares to Convex?


I'm going to hang here and answer questions!


Are there any plans to support stored procedures?


We already support functions.

There are some limitations currently, like that functions can't have insert/update/delete (DML) commands in them, but we'll be working on lifting this limitation in 5.0 (along with possibly allowing recursive functions). And because EdgeQL composes well, you'll get a lot of mileage or our functions once we support DML in them.

Building something equivalent to PL/pgSQL is one of the things that will eventually happen, but unlikely to happen very soon.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: