NocodeDB vs Baserow?

Hi Baserowers !

I am starting to build a web application with Weweb. I am trying to chose a service for my database that I want to self-host.

I found two solutions : Baserow and Nocodb. It seems that Nocodb is more advanced, so I would like to know why you think that Baserow can be a better solution in my case.

I have to mention that NocodeDB is soon proposing a Cloudron application like Baserow.

Best,

Bastien.

First of all, I would urge you to try out both Baserow and NocoDB! That would be the best way to figure out which tool is the best for you. I wouldn’t say that NocoDB is more advanced. The interface of Baserow is cleaner in my opinion, so some features might be a bit hidden away.

Out of curiosity, what kind of app are you building?

License

  • Baserow is licensed under the most permissive license there is, the MIT license.
  • NocoDB is licensed under the GNU Affero GPL v3.0 license, which is more restrictive and always requires you to disclose any modifications you make to the code.

Functional

  • Baserow is a turn key solution where everything just works well out of the box. You don’t have to worry choosing and settings up a database. However, if your requirement is connecting to an existing database that already has tables and columns, then NocoDB might be your preferred choice.
  • NocoDB is focussed at more technical users, you clearly see that when you’re creating columns because you have the option of primary keys, unique, etc. Baserow is made to be as easy as possible for non technical users, offering a user experience that’s more like Airtable.
  • Baserow supports real time collaboration. If you’re working with multiple users on the same data, you can see the changes the other users are doing in real time.
  • Baserow supports real time filtering and sorting. When you change the value of a cell, Baserow will show a message indicating that the value doesn’t match the filters anymore.

Jan-24-2022 12-32-05

  • Baserow has a more spreadsheet like experience where you can scroll through all rows without having to worry about pages.
  • Baserow is made from the ground up to support lots of data. We’re constantly improving the performance, but generally having 100 fields in combination with 100k rows should work fine.
  • It’s possible with both Baserow and NocoDB to share a view publicly. NocoDB supports password protection, Baserow supports real time updates. When you make an update, it will immediately be visible to the visitor.
  • It’s possible with both Baserow and NocoDB to create forms.
  • With Baserow, you can drag and drop everything in the desired position (databases, tables, fields, views, rows, etc). As far as I could see, this is only possible with the tables in NocoDB.
  • Baserow has a lot of templates that you can install with one click (https://baserow.io/templates/). They even work in the self hosted version.
  • With both Baserow and NocoDB It’s possible to create webhooks. Baserow with a nice UX where you can see the example payload and trigger tests, NocoDB supports conditional web hooks.
  • Baserow has a trash can. Everything you delete ends up in there and will permanently deleted after a certain period. This is useful if you accidentally deleted something or if you need to restore it later.
  • It’s slightly easier to setup persistent storage with on S3, DO Spaces, etc because NocoDB has easy to install apps. With Baserow you need to change some environment variable settings in order to achieve the same.
  • Both Baserow and NocoDB support different languages. I tried German and Dutch in NocoDB and most of the text remained in English. With Baserow we only support French for now, but I’m sure that 99.9% of the text will be translated when you switch.
  • NocoDB doesn’t have advanced filters like filtering on a relationship that you’ve made with another table, or on file type.
  • With Baserow you can preview uploaded files directly without leaving the page.
  • Baserow has a nice formula creating/editing mode where you can see all the available fields and functions.

  • With Baserow you have more ways of importing data. We support CSV, XML, JSON, copy and paste. NocoDB just supports CSV as beta.
  • Baserow also has a Kanban view, although that’s a premium feature.
  • Both support row comments, although it’s a paid feature is Baserow.
  • It’s possible to do every action, that you can do via the interface, via the API with Baserow (https://api.baserow.io/api/redoc/). I wasn’t able to find API docs of NocoDB, other than their data API. Baserow also has nice auto generated API docs for your table https://baserow.io/api-docs/.

Technical point of view

  • Baserow supports PostgreSQL because it’s the most powerful relational database engine and we don’t want to be hold back by supporting other less powerful relational databases engines.
  • Baserow has a lot of automated tests, well over a thousand. This is make sure that if we make a change in the code, we know everything still works and we don’t accidentally break something. This approach is more work, but it will result in less bugs and stable software.
  • Baserow uses Celery, that allows us run asynchronous tasks, like creating a large export and call web hooks without affecting performance.
  • Baserow uses Redis caching to improve performance.
  • It’s possible to scale Baserow horizontally in your data center. This means that you can run it at scale with a lot of users. Just add more servers when you need it.

I’m sure that there are lots of other smaller differences, and both Baserow and NocoDB will change a lot in the next couple of months. We’re always clear which features you can expect via our roadmap. Finally we use an open-core commercial approach as we offer a paid premium version. By doing this we can and have hired a number of experienced full-time developers. These extra developers mean that the open-source free version gets more features faster compared to just me working solo on Baserow with open source contributors contributing in their spare time.

3 Likes

I tried both of them…
I first found NocoDB and was very impressed by what it could do. They had an easy working docker image to selfhost it. But…, and I have to say i was one of the first users when they changed their name, i lost all my test data. Couldn’t get it back, didn’t know what happened.

So i became very worried what would happen if I used it for serious projects. In the meantime NocoDB has had a lot of development so maybe it won’t happen anymore.

By then I had discovered Baserow. From the first moment i liked the UI very much even before i used it. After that I was really impressed by what it could do. It fits all my needs. Together with a great extension that makes working with Baserow very easy in App Inventor or Kodular it is ideal for me. I know there is a Docker image coming so things can only get better and better.

Glad to hear that you like Baserow @Peter! We spend a great deal of time of the UI and UX. Every small detail matters to us.

When did you first discovered NocoDB, before it was renamed?

No just after. First it was called XgeneCloud. Even the images/videos on the website showed this name. They had kanban and calendar options according to the website but that was no longer present in the first version of NocoDB. So they stripped it down.

Thank you very much for this complete answer. I am trying to build a directory of private tutors, with students being able to reach them once connected. This is a two-side users webapp. I would like to use Weweb + Baserow instead of Softr + Airtable, even if I could build my MVP on Softr.