Answer the question
In order to leave comments, you need to log in
Is it worth splitting the database?
Let's say we have a MySQL (innoDB) database:
users
user_statuses
user_*
...
...
letters
letter_statuses
tasks
...
etc. Let's
assume that the database will grow at a huge pace, does it make sense to scatter entities across different databases? Let's make a separate database to store users, mailing lists, tasks, etc.? Will it help in the future?
Answer the question
In order to leave comments, you need to log in
if you can scatter your data like that, then you can then set up sharding when the place runs out. And you should resort to sharding when there is not enough memory (for example, I now have a nice little server with 256 gigs of RAM, there are cooler guys).
If you have thousands of visitors per day, and if a million records are added to the database in a month, then it’s worth it, otherwise not!
Modern databases are originally designed to work with millions of records, they work with them quite well.
If you are planning to reach hundreds of millions of records, you can think about splitting right away.
Here it is better to spread the main (most loaded) table to different servers (for example, users from A to F on one server, users from Z to T on another server, users from Y to Z on the third server, if your main table is users, if you store all the inhabitants of Europe there.On
the other hand, there is a load on writing and reading.On
the third hand, if you make not only a database, but also servers that process data, it will still be
cooler.Doing it on one server makes no sense there is no, superfluous troubles.
That's when it starts to grow at a "huge" pace, then and only then will it make sense.
By the way, what are these "huge" ones?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question