building a potentially high-volume PHP-based CRM on Google App Engine (MySQL DB Design Question--Building It Right The First Time)

I am building a CRM that will potentially be used by hundreds of companies and need on-demand scalability.

I have found Google App Engine provides this however I am confused with regard to their database support.

I am only familiar with MySQL and although I see they support this (Google Cloud SQL), their initial limit is 500MB (approval needed beyond this). Two companies using my CRM can easily use 500MB of SQL storage. Will they keep allowing me to upgrade storage space?

Also, how would one suggest I design the database so I don't run into issues later on?

The CRM will have approximately 20 tables and I'd like to keep all the companies records (table rows) together so I can easily make improvements/fixes but the number of rows per company will easily grow by 500K every 6 months.

A year down the road, I don't want to run into any bottlenecks because I have 50 companies having 50,000,000 rows total.

How can I plan ahead for this?

Please advise, thanks.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Make a new database per company for sad divoce cases.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MarkProgrammerAuthor Commented:
Sad divoce cases?

Is that standard practice to create a separate database for each company or is it possible to just have one with MySQL and Google Cloud?
You know... SQL injections better apply to one company... Not one company digging others data when nobody sees.
IT Pros Agree: AI and Machine Learning Key

We’d all like to think our company’s data is well protected, but when you ask IT professionals they admit the data probably is not as safe as it could be.

MarkProgrammerAuthor Commented:
I figured I would solve that problem by properly escaping everything .. So putting that aside, is it possible to just have one database?
MarkProgrammerAuthor Commented:
Ok so Google Cloud only supports upto 100GB in size so obviously each company will need their own database however what can I use to quickly add or change columns when I have 100 databases?
Assumption about proper escaping is WRONG.
Client side script can check database structure.
by client side I meant part of web application, like client of DB...
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
MySQL Server

From novice to tech pro — start learning today.