Hi community,
I’m looking for some advice and experiences from anyone who has faced a similar situation:
I currently have an AppSheet app that started with a small number of records using Google Sheets as the data source. From the beginning, I implemented partitions to maintain performance — initially every 6 months, then every 3 months, and now I’m having to partition monthly as I’m exceeding 60,000 records per month. I’m concerned that as the data continues to grow, the frequency of partitioning will become unsustainable.
Because of this, I’m considering migrating to an SQL database. However, I have several questions and would really appreciate your insights:
Any recommendations or shared experiences would be greatly appreciated.
Thank you all in advance for your time and support!
SQL databases can handle millions of records.
You'll want to focus on defining proper Security Filters which are translated as database queries so the database itself does the filtering. Not all expressions can be translated to database queries. If you write a bad expression, it will still load all records to the appsheet server first before doing the filtering.
@sricse wrote:
How can I manage image storage so that user-uploaded images are saved in a Google Drive account different from the app creator's Drive?
I'm not sure if you can. Is this something that you're doing currently and are wondering how it will work when switching to SQL, or else how is this related to this post? When using SQL-backed apps, generally your files are still saved to the GDrive, determined by the default app folder setting. I suppose if your users share shortcuts from their folders to this folder, you could divide the files amongst them.
I like using Google Cloud SQL. It certainly isn't the cheapest, but it's managed and dependable. I've used MySQL, Postgres, and SQL Server. MySQL and SQL Server have easy connections to App Scripts through the JDBC class. Postgres and SQL Server allow adding and editing records in Views from an Appsheet app, while MySQL doesn't (due only to Appsheet's choice to add a LIMIT condition to all CRUD statements). MySQL is easier in regards to permissions than the other two. Postgres is the most modern.
Now THAT is a quality breakdown, well put good sir! 🫡
User | Count |
---|---|
16 | |
11 | |
8 | |
2 | |
2 |