top | item 35369279

Retool Database

205 points| antonyl | 2 years ago |retool.com

51 comments

order

sikan_|2 years ago

Hi HN! I’m the lead engineer on Retool Database.

Spreadsheets are often used as “poor man’s databases”—they’re quick to get started, but fall apart when you need data integrity, validation, and the ability to query/filter data.

This is why I am so excited about this launch - Retool Database gives you the power of Postgres with the “getting started” speed of a spreadsheet. No setup required.

We've also spent a lot of time on the UI for interacting with the database as well. You can create and edit tables, columns, and rows quickly without writing SQL. You should be able to get the same speed of iteration as spreadsheets, but you are also starting from the get-go that can handle the increasing complexity of your data and scale much better with app development.

We’re giving you 5GB free storage for the first year + connection strings so you can access your data outside Retool.

Lots of learnings as we built this—happy to answer any question you have!

CJefferson|2 years ago

I just tried using this, and I'm afraid I don't think it's as easy as a spreadsheet. I don't even understand it!

I started things off, just kept clicking "yes, yes", made a database called "shopping", and now...

I just seem to have an empty page? There is 'id' and 'created_at'.

I can "Add row", which just let's me specify "id", which has to be a number.

There is a button marked "fields", which tells me my fields are "id" and "created_at", but doesn't seem to have any way to add new fields.

I then, at my last guess, tried doing "import CSV". It asks me to choose a field for each column. I don't have any fields yet. I want to make some. Why can't I pick "this should be a new field"?

Anyway, import CSV just tells me 'Syntax error at or near ")"' when I try running it. There are no close brackets in my CSV, so no idea where that is coming from.

ithrow|2 years ago

Can Retool Database be self-hosted stand-alone without Retool? I can see using this as a replacement for excel on some things.

winrid|2 years ago

How do indexes work? Do you design them yourself or do they get automatically added based on some kind of heuristics?

zackwitten|2 years ago

Looks awesome, great work Sikan and team!

sa46|2 years ago

Looks super snazzy:

Can I point Retool Database to an existing Postgres database? If not, do y'all have any plans to add support?

How's it work under the hood? Custom extensions?

tjsavage511|2 years ago

(PM at Retool) For self-hosted deployments, you can point an existing Postgres DB (v14.3 or later) to Retool Database - though it’s more specifically designed to quickly evolve a new database. For cloud customers, we currently don’t support pointing your own database but it’s something we’re thinking about!

No custom extensions - we wanted to make it a lightweight and effective layer on top of Postgres. So it’s just a vanilla Postgres database under the hood. The UI gives you access to a lot of the power of Postgres, and for anything that you can’t do via the UI you can use the connection string directly: e.g. create triggers, create compound unique keys, etc.

jimmyechan|2 years ago

Curious to know your use case. Were you hoping to use Retool Database with your existing Postgres as a schema builder or as a data editor via their spreadsheet UI?

calvinmorrison|2 years ago

I think Retool is awesome - though last time I think I didn't see a way to allow clients to have access to certain views. We have some databases we'd love to generate views for client access, but we don't need them to have full blown accounts. Is that something on the horizon?

antonybello|2 years ago

(PM at Retool) Yes! We recently shipped Retool Embed to enable you to build settings pages, dashboards, and UIs in Retool and embed them securely into your client-facing apps. You can learn more about Embed here and sign up for the beta: https://retool.com/products/embed We’re also working on a solution to let you build full-stack client portals in Retool. I’m antony@retool.com if you want to chat!

rubenfiszel|2 years ago

We have clients solving this pattern using supabase (storing the client's credentials on supabase and then using RLS) and our open-source solution Windmill to solve this exact problem.

roozbeh18|2 years ago

I wish retool had two things, more granular permissions for users on team plan. right now this is reserved for enterprise. I can not simply share only specific apps to certain users.

I wish to be able to pay yearly. We are on a hosted solution.

austinjp|2 years ago

Congrats. Looks like it will be useful for plenty of folks. Can you outline how it compares with e.g. NocoDB [0] and others mentioned in another comment [1]?

As for "getting started" speed and general data tinkering, I find little beats Gnumeric -> CSV -> SQLite query [2] although I appreciate that solo developers aren't your target market :)

[0] https://github.com/nocodb/nocodb

[1] https://news.ycombinator.com/item?id=35381252

[2] https://til.simonwillison.net/sqlite/one-line-csv-operations

babelfish|2 years ago

Very cool, can you give any details about how this was built? Just a massive Postgres cluster with programmatic schema creation? Or a primary/replica hosted on K8s for each user and offloaded to blob storage after some period of inactivity?

CaliAlec|2 years ago

Looks cool, I'm just wondering how this compares to Google Tables?

sikan_|2 years ago

Google tables is similar to Airtable, they are proprietary databases. You cannot query them and interface with them easily from another application like a regular database.

Retool Database has that friendly table UI but also give you the full query capability via SQL (we even give you the Postgres connection string that let you connect to it externally with your favorite tool).

lysecret|2 years ago

Hey just wanted to take this chance to thank the Retool people. Retool was absolutely essential for our last startup. And they have been super responsive with bugs. A great product!

richarlidad|2 years ago

Thanks - this will improve my life

taylorfinley|2 years ago

I've been using Retool Database inside a Retool Workflow and I find my update queries don't seem to resolve in the workflow, although I can see the updates in the table. I've just chalked it up to beta status, but since y'all are here I thought I might ask if this is a known issue or if I should reach out to support.

Edit to add: really killer addition to the product, keep up the great work

dvdhsu|2 years ago

Hi Taylor! (David here, CEO @ Retool.) I've reached out over email; this sounds like a bug on our end. We will fix it. Thanks for using Retool!

_fat_santa|2 years ago

I think building this as a tool on top of Postgres was a very good idea. Is there anything special Retool DB does on top of Postgres or is it basically just a nice UI for interacting with your tables?

sikan_|2 years ago

Nothing special under the hood!

dblooman|2 years ago

Are there good video resources for Retool in general, I looked at some youtube videos and found mostly creating a basic database view with a form. Any more substantial examples?

anyfactor|2 years ago

I wish retool produced more tutorial videos. There is this one operation, I have been trying to do for couple of weeks.

There are some URLs on a table, I want to select them and I want to make an API call to the selected URLs. There are a few discussions on their community website and all point to one documentation piece. I still haven't figured out how to do this. I don't want open a thread because I know I am going to be asked to read the documentation.

Google "multiple api request retool".

nyadesu|2 years ago

I've had a pretty good experience with retool but its component library definitely needs more documentation, as a frontend developer I'm able to go through all those props and tinker a bit until I get something done, but it's time consuming and not intuitive at first glance.

An example of this is the Table components, which allows you to create columns and set them a specific type, but that component documentation page doesn't include a section about which column types are allowed and how they work. Even further, there's a column type called Tag that it's available for us to use, but we don't have documentation about it and Tag documentation isn't helpful either,

It wouldn't hurt to add some common examples like a storybook along some way to let us see how to configure the components like that, or json examples we can import into our projects.

fblp|2 years ago

Can this sync to an air table database or only import from it?

jallmann|2 years ago

This is good news. Retool-local storage was a big missing piece of the puzzle for us.

For self-hosted customers, is the database still on-premises? Or does it live in the Retool cloud?

moneywoes|2 years ago

Can I sync a google sheet to this

mokshjawa|2 years ago

(Eng at Retool Database) You can export your Google Sheet as a CSV and upload it to Retool Database. We're thinking about enabling to syncing your sheets to Retool Database but that also opens up a host of complexity in repeatedly parsing the sheet over time and maintaining it as a DB table. We'd hope after a one-time upload, Retool Database would be similar enough to a spreadsheet to allow you to continue operations there.