Ich habe die "Scherben" -Technik mehrfach erwähnt, um Skalierungsprobleme für große Websites zu lösen. Was ist diese "Scherben" -Technik und warum ist sie so gut?Wenn Leute über das Skalieren einer Website mit "Shards" sprechen, was bedeuten sie?
Antwort
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.
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.
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.
- 1. Worüber sprechen sie wirklich, wenn sie von Xamarin.Forms sprechen?
- 2. Was bedeutet das "?" in einer Abfrage bedeuten?
- 3. Was bedeutet: - bedeuten, wenn mit Wert einer Variablen kombiniert?
- 4. Was bedeuten Leute von ROM und Firmware im Zusammenhang mit Android?
- 5. neue Leute über CyanogenMod
- 6. was bedeutet das Javascript bedeuten
- 7. Was bedeuten "\\. \", "\ ?? \", \\? \ ", \\"?
- 8. Was bedeuten die Details einer APPCRASH-Nachricht?
- 9. Java Klassen - was bedeuten sie?
- 10. Dateien beginnend mit Unterstrich am Anfang was bedeuten sie?
- 11. Wie kann ich mit UniProt über HTTP in Python sprechen?
- 12. Was bedeuten "statisch verknüpft" und "dynamisch verknüpft"?
- 13. Was denken die Leute über rel = "canonical"? Benutzt jemand es?
- 14. Was bedeutet! Vi bedeuten?
- 15. Was bedeuten zwei Array-Indizes, wenn sie nacheinander platziert werden?
- 16. Was benutzt Wikipedia zum Skalieren?
- 17. Was bedeutet "|" in einer numpigen Zeichenfolge bedeuten?
- 18. Mit einem Drucker sprechen
- 19. Was bedeutet das `...` bedeuten gehen in bekommen
- 20. Was bedeutet das '/' Symbol in CSS bedeuten
- 21. Was bedeutet das. $ In Angular bedeuten?
- 22. Was passiert, wenn Sie das Bit über das Ende einer Variablen hinaus verschieben?
- 23. Was bedeuten sie sagen SYSTEM MEMORY
- 24. dompdf - skalieren Sie das PDF auf Seite
- 25. Was bedeuten sie durch Persistenz in nHibernate?
- 26. Django-Entwicklungsserver-Nachrichten - was bedeuten sie?
- 27. Durchsuchen von Shards?
- 28. Was bedeuten Verzeichnisnamen?. und '..' bedeuten und was bedeutet faDirectory?
- 29. Was genau bedeuten MemoryCaches Speicherlimits?
- 30. Was bedeuten die Zahlen hinter einer Bibliothek?