Show HN: DBDelve – Open-Source DB Client Made with Rust and GPUI

119 points | by shayan_abbas 1 day ago

22 comments

  • mamcx 1 day ago
    One thing missing in all the GUI clients I know for Postgres's is being able to work with composite types and filtering them like `(IMT, 1)`. Similar as edit things like this, arrays, json, etc
    • shayan_abbas 1 day ago
      Try it out, filtering and editing already works for composite types :)
      • mamcx 20 hours ago
        I checked and get error `input of anonymous types not implemented`
        • shayan_abbas 6 hours ago
          Could you open an issue if possible? Or just drop details here?
      • MrDrMcCoy 1 day ago
        Sounds like a worthy Issue/PR ;)
      • edstarch 1 day ago
        >it's a breeze to work with if you just get through them not updating the crate officially on crates.io but the community has found the solutions for it, you just have to dig deep for it

        what does this mean?

        the ui does look very nice

        • shayan_abbas 1 day ago
          Basically finding which distribution to go with, there is gpui-ce, gpui-pre because the zed team last updated their crate more than a year ago so people publish it by their own. I have found gpui kit to be the best since it adds a retained mode too I want to ultimately play around with
          • edstarch 1 day ago
            ok got it

            just had a quick google too because gpui is on my “to check out some time” list and the situation honestly does not inspire confidence

            it seems like everyone and their dog has their own vibe coded gpui flavor and the choice is between making your own vibe coded gpui flavor instead of your desired project vs building your project on quicksand

            i feel like the problem is that (putting together a website, making a bunch of commits, getting people interested) was at some point a sign of a base level of commitment

            now that the cost of that is zero it’s difficult to say whether a “community edition” actually has any community which will still be there next quarter

            oh well sorry for the rant good on you for making it work clearly it is possible

        • d0100 7 hours ago
          Ive never really complained of DB GUI row listing speed, what matters to me is "can I do X eith a click?" and "if I click will it destroy data?"

          How does this compare with Navicat or DBeaver feature-wise?

          • shayan_abbas 7 hours ago
            I've never used navicat but for dbeaver, its not at parity because dbeaver offers a lot of features which it doesn't yet.

            The data destruction thing was something I was really careful with, any destructive query opens a confirmation first, any edit opens a popup showing the query that will run. I've designed it to be really safe.

            For perf, even if row listing speed doesn't matter I assume scrolling and loading a large dataset would improve your workflow, plus quick tab switches and low memory usage for all, no?

          • NetOpWibby 13 hours ago
            This looks really good, makes me want to replace the GUI I put in my database with it.

            Would you be interested in adding support for Disc?

            https://disc.sh + https://disc.md

            • elxr 11 hours ago
              Just because of how gorgeous your site is, I'm now trying disc at work.
              • NetOpWibby 5 hours ago
                Haha, thanks!
                • Natfan 8 hours ago
                  it may look pretty but it's absolutely dripping with LLM-isms
              • olive-n 1 day ago
                Looks nice, though it does not open .sqlite files on Windows, when they are somewhere in the WSL filesystem. But neither does DBeaver. dbx opens them just fine though.
              • exaroth 1 day ago
                Whats the advantage of this over something like dbx (https://github.com/t8y2/dbx)?
                • shayan_abbas 1 day ago
                  DBX is great but it uses tauri, it is better than using jvm and electron but still doesn't provide the performance gains GPUI does or any other native framework would do.
                  • mbreese 1 day ago
                    Performance is a hard sell when most of the time is going to be spend waiting on the DB for queries, isn't it? (compared to dbx - anything in Java is going to naturally be larger for this).

                    Or are you thinking of performance in terms of UX when browsing the result-sets?

                    But, congrats on the project. It looks great. I can't wait to try it.

                    • shayan_abbas 1 day ago
                      Yes, the slow queries stay but there are some differences:

                      Same result set where other clients can crash, this scrolls smoothly so you can naturally load a bigger result set in the app than other clients would allow you to, It paints the UI considerably faster than DBeaver on my benchmarks, thats after the query has run. Memory footprint for the same result is considerably lower.

                      Basically, your db client can slow you down even after you have waited for queries so this will fix that.

                    • dubcanada 1 day ago
                      So your main sell on DBDelve is performance?
                      • shayan_abbas 1 day ago
                        Yes, and UX. Doing the fundamental things but doing them really well. I like zed's approach where they were slow to add features and weren't/aren't at feature parity with VSCode but the point was to get out of the way for most of your workflows. I'm basically going with the same idea in mind.
                  • logdahl 1 day ago
                    Thanks for working on this! All db clients I've used have felt very bloated and I relate to your experience of crashes. I will definitely try this out!
                    • upmostly 1 day ago
                      What does it have over a hyper-modern DB client like DB Pro?

                      [1] https://dbpro.app

                      • shayan_abbas 17 hours ago
                        Cross platform, handling large result sets and general performance. DB Pro also has some features paywalled this won't have.
                        • upmostly 14 hours ago
                          Isn't DB pro cross platform?

                          What features are paywalled?

                      • brumbelow 1 day ago
                        Thanks for sharing I will give this a try this week. The improved memory impact compared to Dbeaver is too good to resist.
                        • gmmachine 23 hours ago
                          This feels more like a proof of concept than anything else.

                          I'd like an AI agent plugin to help with my SQL queries?

                          • shayan_abbas 17 hours ago
                            Its in the plans, we're focusing on core workflows before moving to AI features.

                            Why proof of concept though? There are people daily driving it

                          • godockly 1 day ago
                            I really like it !
                          • How intelligent is the query editor? If you've used DataGrip you'll see it's nothing short of a god send. Their Intellisense is really something else.

                            But I absolutely hate opening DataGrip it feels like you're trying to start a crank car from the 40's.

                            • shayan_abbas 9 hours ago
                              I haven't use datagrip much so can't tell exactly but the editor is schema aware and does provide auto completions. You can take it for a spin and just open issue for things you find lacking if possible and I'd work on adding those.
                            • waterTanuki 22 hours ago
                              > I wanted something which is performant, modern and consumes little ram. The existing DB clients are either filled with bloat (Electron and JVM) or paid. This is an alternative to them.

                              There are many, many existing DB clients. Some of them already written in GPUI and free/open source:

                              https://github.com/0xErwin1/dbflux

                              • mrgoldenbrown 1 day ago
                                What dbs does it support? I won't drop datagrip until I can access oracle, SQL server and postgres.
                                • shayan_abbas 1 day ago
                                  Supports SQL server and postgres natively, oracle through odbc. So yes, all of them
                                • What about beekeeper studio?
                                  • shayan_abbas 1 day ago
                                    For the import connections feature? I can add that in, when I added the feature most people were coming from dbeaver and tableplus so just stuck to that.
                                  • mikenikles 1 day ago
                                    > No feature is ever going behind a paywall.

                                    How do you sustain continuous development of the project beyond the next two weekends?

                                    • shayan_abbas 1 day ago
                                      Voluntary sponsors is the plan for now, I've been fairly consistent with the development for the last few months so I'm fairly confident this won't be abandoned. However, I would love to create a community around it and get some consistent contributors.
                                    • dofm 1 day ago
                                      Oh this is good news — I have been looking for a fuss-free cross-platform alternative to MySQL Workbench to recommend for a data product for some time.

                                      (Workbench is a pain but it was capable, off-the-shelf and was possible to document it once, more or less, for multiple platforms; I did not actually hate using it. But alas it is old now)

                                      I will surely test this out; good luck with it.

                                      • shayan_abbas 1 day ago
                                        Thanks man!! Would love some feedback when you try it out
                                      • holyxing 22 hours ago
                                        [flagged]
                                        • geminiremover 15 hours ago
                                          [flagged]
                                          • [dead]
                                            • [flagged]
                                              • edem 1 day ago
                                                I'm sick and tired of this "rewrite everything in rust ai slop movement
                                                • logdahl 1 day ago
                                                  I hear you, although I must say I'm very interested in trying this out. It doesn't look like slop, and honestly all db clients I've used have somehow felt inredibly sloppy.
                                                  • dofm 1 day ago
                                                    I agree.

                                                    For me, and for customers I want to document things for, it has come down to MySQL Workbench on the free/open source side of things.

                                                    I want to support multiple platforms without having to fundamentally document multiple strategies.

                                                    Most DB tools feel like they will go the way of PostgreSQL or Insomnia — get slowly burdened with cloud facilities and then a bait-and-switch means you need a login somewhere.

                                                    I would much rather be able to talk about clients that do fewer tasks but do them well, but DB clients do seem to be prime enshittification territory for some reason.

                                                    • dofm 22 hours ago
                                                      s/Postgresql/Postman/ obviously.

                                                      Brain concept leakage there. I meant all those apps that start off with a simple purpose and end up with an enterprise cloud plan.

                                                  • fhn 1 day ago
                                                    I know righ!? Python slop is the best slop