Insights 9 min read

When a Multi-Location Operation Hits Adalo's Database Ceiling

Share this insight

Key Takeaway

Adalo removed hard record caps in 2026, so "unlimited records" is technically true. For a multi-location operator, that hides the real ceiling: the native database still cannot join or aggregate server-side, so cross-location reporting and rollups strain long before you run out of records. The governance layer, who owns the central data model, who runs the backend, and how you migrate a live chain, is the part no builder hands you.

Every article on Adalo database limits frames it as one app with too many rows, solved by "connect Xano." For a single app that is fine. For an operator running many locations, the failure mode is different and it shows up earlier. Here is the version written for the person who has to report across sites.

What "unlimited records" actually means for an operator

Adalo's paid plans removed record caps, and Adalo 3.0 added autoscaling, server-side filtering, and progressive loading that make large lists load far faster. Good. But removing the cap is not the same as removing the ceiling. Teams still commonly see slowdowns as an active collection passes 5,000-10,000 records, and Adalo recommends an external database past roughly 10,000.

Where the ceiling shows up in operations, not demos

In a demo you scroll one list. In an operation you open a screen that filters by location, by date range, and by a relationship at the same time, and you do it for every site, all day. Those multi-condition, relational queries are exactly what the native database handles least well, so they are the first to feel slow or return incomplete results.

Why cross-site reporting and rollups break first

This is the core point. Adalo's native database has no server-side joins or aggregations. So "total revenue across all locations this week" or "inventory by site" is not a query the database computes for you, it is work that gets assembled by pulling records and combining them, which is slow and brittle at scale. Rollups break long before you hit any record limit.

One collection for all sites, or one per location?

Operators usually reach for one of two shapes: a single shared collection with a location field, or a separate collection per site. The shared collection is the right instinct, but permissioning and the query cost grow with every location. Per-location collections avoid some query weight but multiply your maintenance and make rollups worse. Neither pattern scales cleanly to a real chain inside the native database alone.

The external-database threshold for operators

Past roughly 10,000 records, or as soon as cross-site reporting matters, the move is to put the source of truth in a real database (Xano, Supabase, or Postgres) and let Adalo be the front end via External Collections. That gets you indexed queries, server-side filtering, and actual aggregations. Note the tradeoffs: External Collections have their own limits, including no real-time sync and a request timeout, so the integration has to be designed, not just switched on.

Data ownership, governance, and backups

Once the data lives outside Adalo, new questions appear that no builder answers for you: who owns the source of truth, who controls access per location, who runs backups, and how you export and migrate if you change tools. For a multi-location brand this is not paperwork, it is the difference between an operation you control and one you hope keeps working.

Migrating a live multi-location app without going dark

The hard part is doing this while stores are open. That means a staged cutover, often dual-writing to the old and new stores during the transition, and validating rollups match before you flip. Done carelessly, a migration takes locations offline during business hours. Done well, no one at any location notices.

Rehost owns this layer for you: the central data model, the external database, backups, and a live migration that keeps every location running. It pairs with the front-end work in outgrowing Adalo's performance and the workflow reliability covered in carrying multi-location workflows. Pricing starts at $950 per month, billed by monthly active users, and you own the data. Tell us how your locations are structured.

FAQ

How many records can Adalo handle per location before reporting breaks?

Reporting strain shows up well before any record limit, because the native database cannot aggregate server-side. Practically, plan for an external database as an active collection approaches 10,000 records or as soon as cross-location rollups matter.

Can Adalo roll up data across multiple locations?

Only by assembling it from records, which is slow and fragile. There are no server-side joins or aggregations in the native database, so true rollups belong in an external database.

Should each location have its own collection or share one database?

Share one data model with a location field and per-location views. Separate collections per site multiply maintenance and make cross-location reporting harder.

Xano or Supabase for a multi-location Adalo app?

Both work. Xano is a managed no-code backend; Supabase is Postgres with more control. The right pick depends on who operates it and how custom your reporting is, that ownership question matters more than the brand.

How do we migrate a live multi-location app without taking stores offline?

Stage the cutover, dual-write during the transition, validate that rollups match, then switch. The goal is that no location experiences downtime during business hours.

Let us handle it.

Do-It-For-Me

Stop debugging platform limitations. Hand off your application to certified experts. We provide dedicated engineering, ongoing maintenance, and guaranteed SLAs starting at $950/month for business and startup applications. Transparent timelines, zero hidden fees.

Simple contract · Cancel anytime

Share this article

Build with us.

Turn insights into action. Let's build something great together.