Questa è una domanda di progettazione del software
Lavoravo sulla seguente regola per la velocità
cache memory > memory > disk > network
Ogni passaggio è 5-10 volte il passaggio precedente (ad es. La memoria cache è 10 volte più veloce della memoria principale).
Ora, sembra che Gigabit Ethernet abbia una latenza inferiore rispetto al disco locale. Quindi, forse le operazioni per leggere da un grande database in memoria remoto sono più veloci delle letture del disco locale. Sembra un'eresia per un vecchio timer come me. (Ho appena trascorso un po 'di tempo a costruire una cache locale su disco per evitare di dover fare round trip di rete, quindi la mia domanda)
Qualcuno ha esperienza / numeri / consigli in questo settore?
E sì, so che l'unico vero modo per scoprirlo è costruire e misurare, ma mi chiedevo quale fosse la regola generale.
modifica :
Questi sono i dati interessanti dalla risposta in alto:
Andata e ritorno all'interno dello stesso datacenter 500.000 ns
Il disco cerca 10.000.000 ns
Questo è uno shock per me; il mio modello mentale è che un round trip di rete è intrinsecamente lento. E non è così: è 10 volte più veloce di un "round trip" del disco.
Jeff attwood ha pubblicato questo buon blog sull'argomento http://blog.codinghorror.com/the-infinite-space-between-words/