I use MySQL for years with very much respect of it's stability and
But in these years one of my servers has grown to several hundreds of
databases with approximately 50 tables in each of the databases.
Some of these database have tables containing more than a million
records, which will still grow. Actually I expect them to grow even to
more than 10 million records. Storing these records is no problem, but
querying them becomes more and more difficult within a reasonable time.
The total size of all databases is about 40 GB and will grow constantly.
So, the MySQL-cluster seems no solutions since all data must be kept
I am looking for a scalable solution where I can put more hardware, if
necessary, for more performance.
Is there some way to "loadbalance" select-queries over multiple servers?
When I look at the "google-technology", they have a lot of machines,
each of them storing some chunks of data. So each server handles just a
little piece of the request. It would be great if there is such
technique for MySQL, splitting up the databases in chunks over several
machines. Firing a query should result in a query to all machines, which
return their results. The "master-process" collects all chunks of data
from the machines and returns the total results to my application.
If I run into performance trouble in the future, it should be a matter
of placing some more hardware to solve the problem.
Any ideas, suggestions or solutions?