2008-09-18 6 views

Antwort

9

Karl Seguin hat eine good blog Post über Sharding.

vom Post

Sharding ist die Trennung von Ihren Daten über mehrere Server. Wie Sie Ihre Daten trennen, liegt bei Ihnen, aber im Allgemeinen ist es auf einigen grundlegenden Bezeichner getan.

2

Kurz gesagt, trennen Sie Ihre Benutzer_TBL über mehrere Server. Also Benutzer 1-5000 und auf Server 1, Benutzer 5000-10000 auf Server 2; usw. Wenn Ihr Datenmodell im Code ausreichend abstrakt ist, ist es oft keine große Änderung im Code.

Natürlich wird dieser Ansatz schwierig, wenn alle Ihre Abfragen ähnlich wie "SELECT COUNT (*) VON users_tbl GROUP BY userType" sind, aber wenn Ihre wo ist "WHERE userid = 5" dann macht es mehr Sinn.

2

Da "sharding" Teil der Architekturprinzipien für große Websites ist, könnten Sie daran interessiert sein, "eBay's Architecture Principles with Randy Shoup" here zu hören.

Verwandte Themen