Dies ist eine Frage zum Software-Design
Ich habe früher an der folgenden Regel für die Geschwindigkeit gearbeitet
cache memory > memory > disk > network
Jeder Schritt entspricht dem 5- bis 10-fachen des vorherigen Schritts (z. B. ist der Cache-Speicher 10-mal schneller als der Hauptspeicher).
Es scheint, dass Gigabit-Ethernet eine geringere Latenz aufweist als die lokale Festplatte. Daher sind Vorgänge zum Auslesen einer großen entfernten In-Memory-Datenbank möglicherweise schneller als das Lesen lokaler Datenträger. Das fühlt sich für einen Oldtimer wie mich wie eine Irre an. (Ich habe nur einige Zeit damit verbracht, einen lokalen Cache auf der Festplatte zu erstellen, um Netzwerk-Roundtrips zu vermeiden - daher meine Frage)
Hat jemand Erfahrung / Zahlen / Ratschläge in diesem Bereich?
Und ja, ich weiß, dass der einzige Weg, dies herauszufinden, das Bauen und Messen ist, aber ich habe mich über die allgemeine Regel gewundert.
bearbeiten :
Dies sind die interessanten Daten aus der oberen Antwort:
Hin- und Rückfahrt innerhalb desselben Datencenters 500.000 ns
Festplattensuche 10.000.000 ns
Das ist ein Schock für mich; Mein mentales Modell ist, dass eine Netzwerkrundreise von Natur aus langsam ist. Und es ist nicht - es ist 10x schneller als ein Plattenrundgang.
Jeff attwood hat diesen guten Blog zum Thema http://blog.codinghorror.com/the-infinite-space-between-words/ gepostet.