0

Currently I am working on a project of a management software. This software is currently in built with an old technology (Codeigniter-PHP). My job is to convert this software to latest technology (Express-NodeJS). But the database will remain the same (MySQL).

Whatever, currently this software has 400+ users (The number is going to increase to 3000+ soon). Each user is given the different codebase along with different database (Just the copy of the main code and the database schema for everyone). Which means software and database schema is different for every one. Each database has 212 tables.

As my job is to upgrade this software I will make sure that everyone will use the software from one code base.

Here comes my question: As there are already 400+ databases (each database has 212 tables), should I use all those database from a single codebase (application) or should I use single database for all the customers?

I was thinking about sharding, but sharding is done at table level, my problem is at database level.

4
  • Do two users share anything database or table? Or do they start with their own separate set of 212 tables? If all separate, then separate MySQL instances each with, say, 500 users might be useful. Commented Jun 3, 2022 at 4:25
  • Does each separate user have his own credentials (account name and password) and have minimal permissions (may RW-access his own database and RO-system/service databases and have no access to the databases which belongs to another users)? Commented Jun 3, 2022 at 7:02
  • PS. 3000 databases 212 tables each is not a problem for MySQL. Commented Jun 3, 2022 at 7:04
  • @Akina yes, each user has his own credentials and no one shares any data with each other. Commented Jun 3, 2022 at 23:29

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.