Data Table limits

Hello,

We are thinking of migrating our current web software to Anvil. But I have a question regarding the data limit. The limit of 150 thousand lines, of the personal plan, refers to the sum of the lines of all the tables that I create, or this limit is per table. That is, if I have 30 tables, can I have 150,000 rows in each one?

Thanks.

Sum of all rows across all data tables across all apps.

so if you have 3 apps with 3 tables with 3 rows each that would be 27 rows counted against your account.

Arghhh… That’s what I feared. Little capacity. We’ll need the Business plan, but then, it’s quite expensive.

Ok… Thanks Anthonys.

… or you can keep the personal plan and use an external database.

Pros

  • you would save some money
  • you would have more flexible and powerful database

Cons

  • one more service to keep up with
  • you lose the nice integration with Anvil
  • the user service will still use the Anvil tables, so you can’t have the users table linked to any other data
2 Likes

Or you can run your app on the open source Anvil App Server.

But, in this case, we have access to full resources of Anvil ? Including data tables ?

…And how about data tables updates ? It’s possible to receive tables upgrades (changing or add fields) without losing data ?

Yes, you can use data tables in an existing app, just as you do with the hosted version. You’d need to host and manage the environment in which the Anvil app runs, including any updates to the Anvil server or Postgres version you’re using. You also do not get any of the drag and drop tools (IDE, visual UI builder, visual data table editor, etc.). You could manually write code to build your UIs and edit data tables, for example, but the method I think is probably most productive is to use your hosted account to develop and test your application, then publish your app to your own server (run it in an instance of Anvil on a hosted server or in a Docker container in the cloud).

1 Like

Ok, I get it.

Thank you for the answer.

You can also use a free online Anvil account to edit the ui, then clone the app and copy it to your local server. Your local server will work forever, your free app editor will work until Anvil goes out of business, which I hope will never happen.

Well, actually, what I’m looking for is less complexity. We currently use Oracle Apex(apex.oracle.com), which is absolutely fantastic in terms of UI and productivity for web apps. And it’s free. But, but, but… Maintaining a server running Oracle, with maintenance, backups, and other configurations, sucks.

While using Anvil in the open source version, on its own, seems to be the solution to having high volumes of data without having to spend a fortune, I have the feeling that it would be as or more complicated than maintaining Oracle. And at greater risk of losing data, until you have complete confidence in the process.

If your constraint is on one of the services included in Anvil, the database, then I would replace that one service with an external database, and keep all the rest Anvil offers.

If I have a flat tire I change the tire, not the whole car :slight_smile:.

If you choose the right host, OS, environment, etc., Anvil is a pip install 1-liner, then copying your app requires pasting a git 1-liner (provided by Anvil in your hosted account), and running your app is another 1-liner. It can be as simple as :

$ pip install anvil-app-server
$ git clone git@anvil.works:2222/SOME_APP.git MyApp
$ anvil-app-server --app MyApp --origin https://my-hostname.example.com

Of course, you should probably also set up a virtual environment before pip install-ing, and you may need to apt-get openjdk, but above is the basic process. Buying/setting up a hosting account and using a secure shell is generally more complicated than getting Anvil to work (assuming you’re using a recent version of Ubuntu on your server, for example).

Take a look at:

I like to write some code to automatically backup CSV’s of all my data tables on a regular (daily) basis - saving them to a google drive account typically takes just a few lines - but I also do that with apps that run in hosted accounts at anvil.works.

1 Like

I confess that I couldn’t find the place where I read about it, but is it true that I can only use one app per database using the open source version installed on my own server?

I’m not sure (because you can’t search for the lack of information about something) but I don’t think that limitation exists, the Python/Javascript/Clojure(JVM) code uses the postgreql database in the back-end for the data tables, and handles things like automatic table-id’s for multiple datatables or apps and automatic row id’s that do not appear in the gui.

It’s still one big database that handles all the datatables for all the apps running on the open source server, it just abstracts them all away and isolates them from each other using the apps individual database access permissions.

It seems that it (the open source server) is more like how the full SQL access style paid tier works, you have your own PostgreSQL db for your account, but you can have as many apps as you like.

…and you could write your own SQL queries, but if you are doing anything other than reading data, you are probably going to have a bad time.

Yes, it would make sense to point a database in the configuration file, and that’s it. But this is not very clear to me at this point.

That is definitely a good question that needs clarification, there are a few people here who use the open-source version but I am not one of them, so I definitely don’t know from experience.

This is a good candidate for a new Forum post, with a new title, so others can find the answer (when you get it).

Yes, good idea. Creating…

@adduarte - I think you have a compelling business case and I would encourage you to contact Anvil sales to explain to them why the Business Plan is too expensive for your situation. They may not be able to do anything but it is one more data point as they continue to think through pricing models. Additionally, they may be able to come up with an option for you that meets your budget. Fingers crossed, but I would think Anvil will want you to use their product instead of going to a competitor. Of course, nothing is free and I have found most of anvils price points to be very compelling. You are seeing something different so let them know. Good luck!