Consistent Hashing – intelligentes Sharding

Stellen Sie sich folgendes Szenario vor: Sie betreiben eine Webapplikation, die noch relativ jung ist, aber die Userzahlen explodieren und vor allem die Datenbank hinter der Anwendung ächzt schon unter der Last – vor allem der vieler Lesezugriffe. Die Lösung für dieses Problem ist allgemein bekannt: Caching.

Doch damit die Caching-Architektur horizontal skalieren kann, müssen gleich mehrere Server die Last übernehmen. Damit besteht ein neues Problem darin, wie man am besten die Daten speichert, so dass sie sich auf beide Nodes gleichmäßig verteilt speichern lassen. Eine clevere Lösung möchte ich Ihnen hier mit auf den Weg geben. Weiterlesen

Is MySQL-partitioning useful for very big real-life-problems?

Some months ago I helped out in another project in which they had some performance problems. They had a very big table and the index of the table was bigger than the table itself. As every change in the table causes MySQL to recalculate/reload the index, this can take some seconds for such big tables.

So, I thought it would be a good idea to split that big table into very small ones. This should reduce the overhead of reloading big indices and instead reload only very small parts. And the next thought was: Is it possible to use the „new“ MySQL-Partitioning for that? Weiterlesen