Settings

Theme

Retool Database

retool.com

205 points by antonyl 3 years ago · 54 comments

Reader

sikan_ 3 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 3 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 3 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 3 years ago

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

    • sikan_ 3 years ago

      We don't do anything automatic like that (yet?), you will have to add indexes manually.

      But I would have to say - modern day databases are so fast that you probably won't notice the performance of adding indexes until at least 100k+ rows in a table and/or you have very high read throughput on that particular table.

      • winrid 3 years ago

        You'll see a performance benefit way before 100k rows depending on the size of each row, especially with sorting. It might save you guys a ton of CPU hosting wise, depending on how this all works, to track slow queries and auto add indexes. Way worth the write overhead in most cases.

        • atonse 3 years ago

          It’s likely that most of their customers would only have a few hundred or thousand rows where indexing may not actually matter after all. Otherwise I’m sure they would’ve prioritized it.

          • winrid 3 years ago

            Yeah for now. You know people will try storing all tweets in it or whatever :)

          • johnthescott 3 years ago

            huh? what about joins? surely your customers are doing joins. a few thousand times a few thousand is >> 1 million.

        • sikan_ 3 years ago

          Ah yes if you need sorting then indexed are def the way to go!

  • zackwitten 3 years ago

    Looks awesome, great work Sikan and team!

  • darkwizard42 3 years ago

    Way to go! Looks great.

sa46 3 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 3 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.

  • stronglikedan 3 years ago
  • jimmyechan 3 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 3 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 3 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!

    • calvinmorrison 3 years ago

      Love it. Especially for software that is database driven, but not necessarily well exposed to UI concepts, it's been very cool to mock up and play with.

    • richarlidad 3 years ago

      I think this will be a killer feature - thanks guys

  • rubenfiszel 3 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 3 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.

    • tommycollison 3 years ago

      (Retool employee here.) Based on how we see companies using the different plans, we have a couple of delineations between the monthly and yearly plans. Happy to chat with you about your specific use case and discuss pricing/plan options! I’m tommy@retool.com

austinjp 3 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 3 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 3 years ago

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

  • sikan_ 3 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 3 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 3 years ago

Thanks - this will improve my life

taylorfinley 3 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 3 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 3 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?

dblooman 3 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?

  • kwhinnery 3 years ago

    Hey there! We are actually working on a video course for Retool that covers more of the breadth of the platform. Definitely more to come. One more substantial example we released recently is this bookstore application, which uses about every part of the platform [1]. It's the app demoed at this virtual event, Retool Developer Day [2].

    1: https://github.com/tryretool/bookstore_sample_app

    2: https://www.youtube.com/watch?v=cmLPdHqC0uQ

  • anyfactor 3 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 3 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.

    • kwhinnery 3 years ago

      Absolutely agree, and something we were discussing today as it happens on the docs crew. We have some ideas we'll try in the next few months to bring more docs directly into the product, and beef up coverage and examples in the component docs.

fblp 3 years ago

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

jallmann 3 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 3 years ago

Can I sync a google sheet to this

  • mokshjawa 3 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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection