When the project is too big for mysql

I know that Google uses its own large tables (is that right?), And Facebook and Twitter use Cassandra, but when does your daily project outgrow mysql (if ever?)

If you started using a potentially massive web application, would you use mysql as a mechanism or start with an alternative from the beginning?

+4
source share
3 answers

I think the only way to find out when MySQL is not good enough is when you start to see performance issues, or you feel like you're fighting to keep it going. If you know that your application is potentially huge, you should use the right tools from the very beginning, otherwise it will lead to a huge transfer of headache later.

+3
source

There is no simple metric that will tell you the answer - it depends not only on the amount of data, the number of transactions, but also on the nature of replication - the number of replicated sites, the required replication speed, etc.

Yes, the large-scale clSuter noSQL can bring out aaa MySQL cluster built for the same budget for OLTP, however it is called noSQL for some reason - when you need to start doing something useful with data, the relational model and SQL language do the cutting and cutting data is much easier. OTOH, at some point, OLAP then overtakes the relational model in terms of performance, but I think it would be quite difficult to use a data warehouse to process transactions.

Thus, it is possible that application functional requirements outgrow the capabilities of the noSQL database much faster than redundant requriements outgrow the relational database.

+3
source

I would start with an alternative (PostgreSQL), but not because of problems with scaling, but because support for MySQL transactions and referential integrity is useless.

0
source

Source: https://habr.com/ru/post/1335539/


All Articles