D
D
Daniel Newman2016-07-18 20:47:00
MySQL
Daniel Newman, 2016-07-18 20:47:00

How to take out a large table from the database and make it common?

Our tourism project has a ~7Gb database. And base dumps turn into a real hell for many hours. Much to my surprise (I'm barely familiar with the database), up to 100Mb is directly used by business data, and the rest is occupied by log tables and tables generated by system requests to external providers:
system_logs 4.4Gb
hotel_ostrovok_images 1.6Gb
hotel_ostrovok 0.7Gb
hotel_ostrovok_amenities 0.2Gb
There are 6 such databases for each developer.
Not only do we lose 6Gb of tables of the same type with each new developer, it saves time and locks the entire database during the dump process.
There is a beautiful theory on perconabut we are looking for practice. Who did it and how did it, what did they gain and what did they lose?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry Entelis, 2016-07-18
@danielnewman

Imho:
1) a DB of 7 gigabytes as if not much. It should dump in a few minutes.
2)
- Why does every developer need an actual production dump?
- Why host all this on a production server?
3) The idea of ​​writing logs to the main database is very vicious. Raise some kind of mongo under it, or at least a separate sql server.
4) The idea of ​​storing pictures in the database certainly has the right to life, but this requires strong arguments.
It seems to me that it is quite possible to take out the work with pictures in a separate service (the same for everyone) and store this whole thing in the file system.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question