Hello. Now I am releasing an online store in production + a CRM system for it. If everything is clear with IM, goods, etc. will not exceed 10,000 lines, but with CRM it is completely different. This logging of actions of employees, sales, etc., that in the first 2 years will dial under 1 million records in some tables. In this regard, I became interested in scaling, I read a lot about sharding, replication, etc., but nowhere has the amount of data written for which performance drops. DB mysql 5.6, innodb. At what loads do you need to start scaling the database?

    1 answer 1

    Depends on your application, the hardware used and the degree of directness of the hands of developers, administrators and DBA

    Somewhere it can be bad already on a 1GB base, somewhere and a half a terabyte live normally.

    Base scaling is done when objectively (this is important, precisely objectively! That is, performance monitoring charts are needed) further growth rests on the base's performance.

    If it rests on reading data, then replication is configured and a certain amount of headache is obtained. Just because replication in mysql made a little pain. For example, there is a separate section of the behavior features that must be taken into account, including in SQL queries.

    If you run into a data record, the data sharding is done (on the app). And it turns out even more headaches.