Is project structuring in multiple Mysql databases necessary?

Asked

Viewed 27 times

0

Throughout the year I developed a school management project with a specific school. The project was building according to the demands and needs of the school, but as there was no intention it was designed only for a single school. Currently other schools in the network have shown interest in using the tool.

My doubt arose because I’m not an expert in programming (actually I’m a beginner) and I don’t know exactly how Mysql will behave by the amount of data, so I wanted to know considering that within a year the largest table (we have about 20 in total) generated about 14 thousand records:

It would be more correct by getting a better performance of the database to do:

  1. I can restructure the project (in case putting elements in the tables that indicate the reference school, for example, in the user table would have an element so that school A users were not seen or used by school B).

or

  1. Give the option to the user when accessing the system to choose the school (and save it in a cookie so as not to ask every time, for example) and from there direct which database to use, in this case would have a database per school.

Adding to the problem I would like to learn more about Mysql, about its structure, better way to create database, better way to relate tables (I already use specific fields and indexing of key columns) and mainly about the performance ratio and maximum records supported by the database, if anyone has any material to indicate would be grateful.

Thank you.

  • Basically, since it is a network, it will depend on whether they are integrated. If so, restructure your project. As for the performance of DB, 14,000 records is somewhat insignificant (obviously it depends on your equipment). Mysql is prepared to manage millions of records. However, as you said, as you are a beginner, I suggest you get more knowledge on the subject.

  • @Philip, thank you for your answer. So, despite being a network there is (at first) no interaction between information from schools (which is also not the proposal of the tool that is used for management and monitoring of the school(s))

  • One thing you have to consider is the confidentiality of the data. If the data of all schools will be in the same database it is relatively easy to access data from other schools, even if this is not allowed by the good practices of your organization, in compensation it is easier to obtain general managerial information. If confidentiality is an important aspect to be preserved then opt for a database for each school, all, obviamnte, attached to a good login system.

  • @anonymity thanks for the reply. There is no information that will be relevant to leakage, I say, no confidential data. But anyway the programming has been constructed of form well tied with specific indexes where they return. Information only for the specific school.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.