Setting up multiple MySQL databases with scalability options -
I need to install a MySQL environment that will help connect many unique databases over time (thousands, in fact ). I think I have to start adding mySQL server at some point, and I would already like my environment to be ready for this matter, so that the second, third, 100th server can be easier.
And to make it just interesting, it would be very convenient if the solution was modeled so that applications querying the database send all questions to the same address and get the results. It should be unaware of the number and location of the server. The name of the database is unique and can be used to determine which database holds the database.
I did some research, and the MySQL proxy fashion as the main candidate, but I can not find anything special about doing it as described above.
Anyone?
Good questions I know that many companies have done this (Facebook jumps out as the biggest No one is happy, but the options also suck, too.
More to consider - What happens when some of these databases or servers fail? What happens when you need to do a cross-database query (and you, even if you do not like it now). Here's FriendFeeded Solution:
This is a Bit "back-asswards" because they are basically using MySQL as a glorified key-value store. I'm not sure why they just do not take middlemen and use things like Berkeleybee to store their objects. Connection management, maybe? It seems that the cost to pay something like this in the upper part of MySQL, which can easily add (famous last word)
What you are actually seeing (I think) is a distributed shared-nothing database. Many Open-Source Technologies such as MySQL and PostgreSQL have been built on top, but none is available for free. If you are in the mood of purchase, then check these companies: ,,,,,
There are also many distributed key-value storage solutions available. For a lack of better context, here's a starting point.
Comments
Post a Comment