8 ms·
Co-founder here - AMA.
by 1st1 2y ago
Co-founder here - AMA.
- Scramblejams 2y agoI'm working on some server-side Swift, and it's feeling very promising. Any plans for a Swift client library?
- 1st1 2y agoNot in the immediate future, but we have a member in our community who's building something. We'll see if they get near the finishing line.
- federalauth 2y agoCongrats on the rebrand and launch! Biggest reasons to use Gel over Supabase?
- kelthuzad 2y agoJust a user here, but I'd say there are many reasons, one of those reasons is in your name: auth. GelDB's auth is versatile and doesn't cost a dime, while Supabase auth is only free up until 50,000 monthly active users, then it costs $0.00325 per MAU (> 100k MAU). I personally just love its query language and the typescript query builder.
- 1st1 2y agoGood question. We’re indeed similar products. Gel is somewhat similar to Supabase on the surface—both run on Postgres, both have Auth, and both offer AI features, a CLI, and a UI, among other similarities. However, there’s a big difference beneath the surface: Gel comes with a high-level data model (abstract types, mixins, access policies) that replaces tables and joins. It’s still relational (and we’re about to publish a paper on that), but it’s more high level, strict, and yet more flexible. On top of that, we have a built-in migration system (where schema is a first-class citizen), a performance-tuned network protocol, and a query language called EdgeQL, which is like a child of SQL and GraphQL. These are just a few of our “deep” features. All in all, Gel is a fresh take on day-to-day database development. We cut no corners in trying to push the core database developer experience forward.
- atombender 2y agoLooks like you changed your site and broke current links. For example, searching for EdgeQL gives me this as the first hit: https://docs.edgedb.com/database/edgeql https://docs.edgedb.com/database/edgeql. That redirects to https://docs.geldata.com/database/edgeql https://docs.geldata.com/database/edgeql, which is 404.
- 1st1 2y agoYeah, we'll be repairing this shortly. FWIW we're completely revamping our documentation, it's almost a full rewrite, focused on bringing clarity and logic to the navigation, improving search, etc. We should fully wrap it up in a week or two.
- armincerf 2y agoIt says gel is to Postgres what typescript is to JavaScript, so can I add gel to an existing Postgres instance and get the benefits of the nicer query language or does it rely on special tables? If I use some other extension like timescale is that compatible with gel? And is there a story for replication/subscribing to queries for real time updates? Postgres is so powerful partly because of its ecosystem, so I want to know how much of that ecosystem is still useable if I’m using gel on top of Postgres
- 1st1 2y agoIn the just released new version we've added SQL support, so now you can use SQL taking full advantage of our data model (access policies, mixins, etc) and the network protocol (automatic recovery on network & transaction error, automatic connection pooling on client/sever). We'll continue bridging the gap to make it easier for companies to adopt Gel for an existing database. We either will invest in creating a tool for migration, or maybe some more exciting options we're currently pondering on.
- RedCrowbar 2y ago(article author here) > If I use some other extension like timescale is that compatible with gel [...] Postgres is so powerful partly because of its ecosystem, so I want to know how much of that ecosystem is still useable if I’m using gel on top of Postgres Playing nice with the ecosystem is the goal. We started off with more of a walled garden, but with 6.0 a lot of those walls came down with direct SQL support and support for standalone extensions [1]. There is a blog post coming about this specifically tomorrow (I think). > And is there a story for replication Replication/failover works out of the box. > subscribing to queries for real time updates? Working on it. > so can I add gel to an existing Postgres instance and get the benefits of the nicer query language or does it rely on special tables? Gel is built around its schema, so you will need to import your SQL schema. After that you can query things with EdgeQL (or SQL/ORM as before). [1] https://github.com/geldata/gel-postgis https://github.com/geldata/gel-postgis
- keruli 2y agoWas the rebrand really just for simplicity and clarity? It seems like a lot of work to change the name when it was already a pretty established toolchain, not just for your team, but, and this is more important, for your community. I actually think EdgeDB was a far better name. It actually meant something; yes, it wasn't a pure graph database, but it did work with the general concept of graphs and edges. Gel means nothing. Even the domain name: geldata.com makes no sense. You're not selling or creating data, it's a database system/layer. I've been a true evangelist for EdgeDB over the last two years, but this has really irked me - irrationally so, I'm aware(!), but I just can't see the benefits outweighing the drawbacks here. It feels like it has to have been a result of some legal action or something. And just as LLMs were starting to catch up with their knowledge cutoff to include EdgeDB too! Now it'll be another two years until they know what you're talking about again. I know, first world problems. Is the query language name changing, by the way? Or is that still EdgeQL? Please let sanity prevail over at least one thing and don't call it "jel-q-ell"!
- 1st1 2y agoEdgeQL stays EdgeQL :) I like that name. I also liked EdgeDB (I'm biased, I coined that name myself). But at every conference we had the same conversation with developers: "EdgeDB? Huh, must be an edge-computing database. Are you running SQLite?" There are other minor reasons for the rename, but this annoyance persisted for a number of years and we decided to pull the plug on it. > I've been a true evangelist for EdgeDB over the last two years Thank you. This means a lot.
- re-thc 2y ago> But at every conference we had the same conversation with developers I wonder if this will really go away or just be replaced with something else. Is it really the name "specifically" or how a lot of people work? (i.e. going by first impressions, connotations, memes, etc) > "EdgeDB? Huh, must be an edge-computing database. Are you running SQLite?" "Gel? Huh, must be for cosmetics. Is this for retail?" p.s. had no issues with EdgeDB.
- 2y ago
- d0100 2y agoHow to deal with eventual slow queries? I currently have a system with complex queries with a lot of joins where I had to create a custom materialized table These queries also deal with permissions & realtime scheduling so endpoint caching doesn't solve it Have gel users hit any performance issues, and how have they dealt with them?
- 1st1 2y agoWe're shipping a slow query log UI in this version to continuously monitor queries in your system. Our users do get performance issues, usually because they start really using our data model to its full potential, creating tens / hundreds complex access policies, 100-lines long EdgeQL queries etc. We have EXPLAIN command to deal with, and we also support our customers directly helping them understand and fix their system. All of the findings trickle down to the core product so that the rest can benefit too.
- plagiarist 2y agoI was hoping to learn more but many of the docs.geldata.com links on the GitHub page are 404 right now, mentioning just in case nobody has reported that yet.
- 1st1 2y agoWe'll be fixing them shortly. We're rolling out a new documentation system. Apologies for the inconvenience.
- 999900000999 2y ago3 questions. How does this compare to solutions like Supabase. What stands out with Supabase is the sdk support. My current project is probably going to stay on Supabase( it's a hobbyist project regardless), but hypothetically if I was an enterprise prospect how would you pitch your solution. Do you support functions, that I could call from the client for more advanced logic that can't be done with queries ? Why not brand as GelDB. Would probably be easier to Google. Plus it tells me instantly what your selling. PS: Can you offer something like a hobbyist tier for 10$ a month. I don't want to deal with my project randomly shutting off, but I have extremely low requirements in terms of storage during development.
- 1st1 2y ago> How does this compare to solutions like Supabase. Supabase is great and works well if you want vanilla (more or less) Postgres with some integrations ready to go. With Gel you get a Postgres with a data layer on top. If you want to have a data model with abstract types & mixins that's easy to work with and scale in complexity, advanced access control, built-in migrations schema engine, hierarchical graph query language on top of SQL, more robust client libraries -- that's Gel. Gel is opinionated and vertically integrated and that's it's core strength. All of its components were developed in tandem -- from the network protocol to client APIs, from the EdgeQL query language to the data model to the migrations engine and so forth. It provides more cohesive experience and can give you non-trivial performance and DX gains if you commit to it. > but hypothetically if I was an enterprise prospect how would you pitch your solution. Total TypeSafety enforced at all levels, built-in migrations engine, best in class access control (we'll be blogging about our access control vs RLS soon.) > Do you support functions, that I could call from the client for more advanced logic that can't be done with queries ? With Gel 6 we'll be announcing the new `net` module tomorrow (spoiler!). You'll be able to schedule HTTP calls from triggers/queries/functions. > Why not brand as GelDB. Would probably be easier to Google. Plus it tells me instantly what your selling. Well, rebranding from Gel to GelDB would be just a text change to the homepage, so hypothetically the door is open for that. But I hope we can make Gel work, just the same way it works for Render/Neon/Fly. > PS: Can you offer something like a hobbyist tier for 10$ a month. Stay tuned, we'll announce some news on that in a couple of days! :)
- adsharma 2y agoHow do you reconcile DB schema with strong types vs RPC schema? Have you looked into interop with typespec?
- 1st1 2y agoFor TypeScript, tRPC mostly just works out of the gate, if I understand the question fully.
- xanth 2y agoDo you have any plans/aspirations in adding Temporal "immutable DB" functionality? [0] https://en.wikipedia.org/wiki/Temporal_database https://en.wikipedia.org/wiki/Temporal_database [1] https://github.com/scalegenius/pg_bitemporal/blob/master/docs/bitemporal.md https://github.com/scalegenius/pg_bitemporal/blob/master/doc... [2] https://github.com/ifad/chronomodel https://github.com/ifad/chronomodel
- RedCrowbar 2y agoYou can use access policies [1] to emulate temporal data. See an example in [2] [1] https://docs.geldata.com/reference/datamodel/access_policies https://docs.geldata.com/reference/datamodel/access_policies [2] https://github.com/geldata/gel/issues/4228#issuecomment-1208496138 https://github.com/geldata/gel/issues/4228#issuecomment-1208...
- krashidov 2y agoIf I have an existing postgres db how hard is it to migrate? Can I write regular joins if I need to? Do you have plans or do you already support db branching ?
- 1st1 2y ago> If I have an existing postgres db how hard is it to migrate? The main hurdle would to migrate the schema. You'll have to define your schema in Gel (take a look at the reference here [1]) and write a script to copy your data. We are discussing internally how we can simplify this process, this is becoming a popular question. > Can I write regular joins if I need to? You can use EdgeQL and SQL side by side now though one connection in the same function. Gel's schema is still relational (even though it's more powerful with features like multiple inheritance). This page describes the details [2] of how SQL works with our schema (spoiler: it's very straightforward and no different from a hardcoded SQL schema). > Do you have plans or do you already support db branching ? We call Postgres databases "branches" in Gel. And we have tooling around them [3] to have git-like experience with them. Conceptually you can map (manually) your Gel branches to your Git branches if you wish. [1] https://docs.geldata.com/reference/datamodel https://docs.geldata.com/reference/datamodel [2] https://docs.geldata.com/reference/reference/sql_adapter#querying https://docs.geldata.com/reference/reference/sql_adapter#que... [3] https://docs.geldata.com/reference/cli/gel_branch https://docs.geldata.com/reference/cli/gel_branch
- krashidov 2y agoThank you for the response! This is great info. > The main hurdle would to migrate the schema I'm sure you know this but I know drizzle lets you generate schemas from an existing db. Not sure how applicable that is to Gel. https://orm.drizzle.team/docs/drizzle-kit-pull https://orm.drizzle.team/docs/drizzle-kit-pull > We call Postgres databases "branches" in Gel. And we have tooling around them [3] to have git-like experience with them. Sounds like it's a yes - thanks!