top | item 42321443

(no title)

j1mmie | 1 year ago

For years I've wondered why a general purpose, high quality, good UX, browser based DB browser has not existed. I've implemented 3 such (not general-purpose) browsers in my career. But I'd be really happy to stop doing that and use this instead.

I would love to see a Firestore driver implemented (maybe I'll take a crack at it some day), as I'm stuck in GCP land for the time being.

discuss

order

KronisLV|1 year ago

> browser based

For whatever reason, this is the main limiting factor, local software can already be really good, for example:

• DBeaver - pretty nice and lightweight local tool for a plethora of databases https://dbeaver.io/

• DataGrip - commercial product, but you'll feel right at home if you use other JetBrains products https://www.jetbrains.com/datagrip/

• HeidiSQL - haven't really used this myself but the version graph on the page is cool https://www.heidisql.com/

• DbVisualizer - really cool tool that helps you explore messy schemas https://www.dbvis.com/

• Jailer - something for exploring datasets, a bit niche, but can be useful https://wisser.github.io/Jailer/

There's also some solutions that are specific to certain databases, like:

• pgAdmin - for PostgreSQL https://www.pgadmin.org/

• MySQL Workbench - for MySQL/MariaDB, sometimes a bit buggy but I really like the reverse engineering and forward engineering functionality https://www.mysql.com/products/workbench/

• Adminer - one of the somewhat rare web based solutions for the likes of MySQL/MariaDB, actually pleasant to use as long as you use it securely, this I think is a good example of web based DB tools https://www.adminer.org/

(out of respect for my own sanity, not mentioning SQL Developer, even though it sort of works)

gondo|1 year ago

There is also an old school browser based phpMyAdmin

asmith11|1 year ago

Jailer is awesome and really not “niche”. Also, it's not something for exploring "datasets", but for tables and relational databases in an innovative way. I think it would be fantastic if more people knew about it. (https://wisser.github.io/Jailer/)

mritchie712|1 year ago

I think it's because there's no business model in the pure "DB browser" product. People don't seem willing to pay enough for it to build a good business around it.

Everyone I've seen either pivots to a Retool competitor or a BI tool.

Source: I've tried it twice.

RyanHamilton|1 year ago

For 12 years I got banks to pay for an editor I created. But yeah to grow the audience I made the database client free as others wouldn't pay. I have also created a separate BI tool so you're totally correct.

debarshri|1 year ago

I think DB Browser is not a product but a feature. It is fairly challenging to monetize it. It can be an entry point for a developer's workflow, and then you can upsell something else.

mistrial9|1 year ago

small teams and individuals have failed to make enough money selling technical tooling products since forever; enthusiastic engineers keep building them. source: the 1990s

vunderba|1 year ago

Because it does exist, but it's not free. Jetbrains Datagrip has been around for a decade and has connectors for most database archetypes (mongo, sql, redis, duckdb, etc).

Biggest limitation right now is its lack of support for vector style databases like Lance, qdrant, etc.

atombender|1 year ago

Datagrip is fantastic. You can also get the same functionality if you buy the IntelliJ IDEA Ultimate Edition, which includes many of the languages and tools that are also separately productized. I recommend this because the database tools integrate so well with the editor. For example, you can have a scratch file open that contains multiple SQL snippets. You can hit cmd-Enter when inside one snippet, and it will execute it and render the results either as a panel or inline inside the editor, notebook-style. Plus, full schema validation and autocompletion in the editor, and support for many, many databases including Postgres and ClickHouse.

Not only that, but the SQL support works for embedded strings in programs written in other languages such as Go. So it knows that some statement conn.Exec("SELECT ...") is SQL and syntax-highlights it, performs schema validation and autocompletion inside the string literal. Not only that, but you can open the string literal as a separate editor and edit it, including doing things like "reformat", which was an unexpected delight when I discovered it.

It's this kind of "feature stacking", which features working organically with each other, that makes Jetbrains IDEs so damn good.

But the basic database tools are also superb. Its table view is really fast. It has syntax highlighting (e.g. if a column value is JSON), live editing (including the ability to open a column value as an editor, in which case you get all the usual syntax tools), and even graph rendering with support for multiple data series and grouping in a single graph.

There is also excellent support for exporting data. You can mark a bunch of result rows and copy them as CSV or as SQL INSERT statements, or you can save the entire result to a file. This is how I often export data from BigQuery, as it's much more convenient than Google's own tooling (the web UI is particularly bad, requiring that you export the query result to a GCS bucket first).

These database UIs aren't technically difficult to do. But somehow nobody else seems capable. The closest I can think of is Microsoft's tooling around SQL Server, which is pretty slick, albeit MSSQL-specific. I often wonder how Jetbrains, which is a pretty small company, can be so effective and produce such an incredibly feature-rich product portfolio.

wiseowise|1 year ago

> Browser based

carlosjobim|1 year ago

I remember I used TablePlus, which was what you described. Very pleasant program. Not browser based, though.

yesthisiswes|1 year ago

I used to love table plus. My favorite part was that you could hook a query up to a chart. Then you could have the query fetch fresh data every second to give you a live dashboard.

At the last company I worked for I made a command to ssh into our servers and extract job data. I saved the data in a local SQLite database. Then I made a dashboard in table plus to show the it in a chart that would refresh every second.

I had a real-time dashboard in about an hour once I figured out all the job info I wanted to capture. It was really cool!

slaucon|1 year ago

Yeah, my last company paid for a subscription to this. Enjoyed using it. Don’t think there’s a massive market, but definitely lots of devs who want easy DB access and would pay $5/month.

burcs|1 year ago

Thank you, I hope you can stop building those and use us instead as well :)

I've never used Firestore directly, but I did see Firebase's recent announcement about Data Connect. It seems like it could act as a bridge to bring your data into Outerbase. Do you think that would work?

mayli|1 year ago

dbeaver? it has dbeaver community edition, and supports tons of database.

wiradikusuma|1 year ago

DBeaver's UI/UX is.. functional.

ndrake|1 year ago

abraxas|1 year ago

It's quite nice and really lightweight but it's also very basic. So basic you can't even click on the table name in the side panel to see a preview of the data. I use it every day but yearn for a few more features.

anon291|1 year ago

Seriously... not only a browser but also something akin to access. It's crazy to me that it's 2024 and no/low code tools online are all still worse than MS access.

dspillett|1 year ago

It seems odd that there is nothing like Access (or the other couple if similar DB tools that were around in the heyday of Access and before), but I think it is because the demand is relatively small. I've seen several projects start in that direction then pivot elsewhere or just die an unsupported death.

I think the problem is that demand/interest is not sufficient to keep a self-hosted project going, nor monetisable enough for a hosted one. People wanting to self-host end up going with something more specific, possibly self-made, for their needs, rather than a generic solution, and a hosted solution has a couple of significant costs to cover:

1. Resource use when people load a large amount of data then run under-optimised queries on it (or impossible to optimise, if they've chosen a bad structure for what they want out of the data). This can be mitigated by throttling individual users' IO/memory/CPU use but then the product gets a reputation for being slow.

2. The support that many people will expect (especially if they are paying, but even if they are not) which could consume a lot of time. A project that is very lucky might end up with a community that takes on a good amount of this load, but you can't bank on being that lucky.

3. Resource to keep available all the hardly used, or even never used, projects that will sit around if the service is free. Mitigating this with cold storage will help, but as with throttling active use this will make the service appear slow generally (people will remember the tens-of-seconds startup time more than they will notice subsequent actions being more than fast enough).

Getting people to pay will be an uphill struggle, and money from advertising is unlikely to cover the above, especially with many people like me blocking commercial stalking which also blocks a lot of advertising.