Domanda

I am developing two web-sites having - one having few tables and the other having over 50 tables. I am using PHP and MySQL.

Some of the tables of both the web-sites are expected to receive well over a hundred-thousand rows every year. I have read in some post in StackOverflow that a few hundred-thousand row is not a problem for MySQL. But in my web-site, the row count will be "HUGE" in about 10 years or more.

Also, the number of database access from those tables will be VERY HIGH in expected peak hours.

So, I have two questions. First, is MySQL ready for VLDB or the like scenario? Secondly, can MySQL handle large number of requests under extreme load, even if use techniques like indexing to speed-up database access? If not, which DBMS should I use instead?

È stato utile?

Soluzione

The good news is that computers in ten years will be a lot faster than computers today, so that alone should buy you a lot of scaling.

MySQL can handle your data if you can structure it correctly and tune the server accordingly. Millions of rows is rarely an issue, and some instances have gone even to the billions level with careful planning, as is the case of Tumblr and their Jetpants toolset.

You haven't really given much detail on the frequency or intensity of write or read activity. "Very high" could mean several hundred per minute, or it could mean several million per second.

Altri suggerimenti

Ummm MySQL is used all the time on many web sites from the least trafficed, to some of the most. Unless you are getting to google/amazon like traffic and need to literally code your own solution, MySQL will handle loads just fine. I would focus more on database structure/ proper indexing/load balancing. The software will operate just fine. Its the users who inevitably mess it up.

How well your performance will scale with mySQL depends mainly on:

  1. How well your database is designed.
  2. How well your data is indexed.
  3. How well your queries are written.

Once these 3 are maxed out you can still partition data and cluster servers, but honestly a DB with 10 million rows is what a lot of people might refer to as a 'mid-sized' database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top