How scalable is Glide

25k is the technical “limit” for the all of the data in the app, but it’s not strictly enforced by glide…yet. It’s more of a technical limit when syncing data between google sheets, the glide database, and the copy of the database on each user device…along with any necessary computations that need to happen for each row.

Your assumption of 25k per user depends on how your data is set up. If you do not have Row Owners enabled, then all data is sent to, and cached, on a user’s device. That can become a lot of data to download and can slow things down. If you are applying Row Owners, then only the owned rows are sent to a user device, which can greatly help with speed depending on how many rows a particular user owns.

The 25k limit can also factor into the sync between glide and a google sheet (if you use google sheets as opposed to glide tables). The sync between glide’s copy of the database and the google sheet can become bottlenecked if there is a lot of data to move around.

In your case, as it stands right now, you should be fine depending on how complex your tables are and how many computed columns and relations you are using. Every time you open the app, it has to first download the latest data, and then run through any computed columns and build relations. This is usually the biggest culprit for speed issues. User devices are doing almost all of the calculations against the data. Glide will allow you to have a total of 50k rows and even more, but it can start to affect any syncing as well as the builder (which will load and process all data regardless of row owners and which user you are previewing as at the time).

I think the bigger concern is how complex your data is. I have an app with around 8500 rows total and primarily one user that generated most of that data. So row owners is irrelevant for me and not something I want to use if I later want to grant all other users access to the same data. The app itself loads quickly, but one tab in particular is very slow to load initially. Right now it takes about 30 seconds on my device for that tab to load. A subsequent screen beyond that takes another 10 seconds to open. After that initial load, it works normally but there’s awhile to process the data initially. I’m pretty sure it’s a combination of several calculations that have to run on all 8500 rows, so dependent computed colomns can then be built, and then dependent relations can be built. I’ve come to realize that some logic needs to remain in the google sheet to help maintain speed of the app, but I’ve been trying to make this part of my app more efficient for a couple of years now. I also think the speed issues are largely due to the calendar style layout. I prefer the calendar layout and other layouts haven’t been satisfactory for my user, but for some reason I can’t limit how many calendar rows show on the screen like I can with other layouts. I can filter, but then that restricts my ability to use the built in search to search through all of the data. Plus, it’s probably doing some complex sorting behind the scenes to sort in date order. This is one of those cases where I wish it was more clear on how glide works on the back end and how it processes data and actions. It’s frustrating to not be able to debug the code and see how it works, so I can figure out where my bottlenecks are.

Sorry, that was a side rant, but the point is, that the amount of data isn’t always a factor. It’s how much computing power is needed to process your data within the app.

10 Likes