Esta é uma pergunta de design de software
Eu costumava trabalhar na seguinte regra para velocidade
cache memory > memory > disk > network
Com cada etapa sendo 5 a 10 vezes a etapa anterior (por exemplo, a memória cache é 10 vezes mais rápida que a memória principal).
Agora, parece que a Ethernet gigabit tem latência menor que o disco local. Portanto, talvez as operações de leitura de um grande banco de dados remoto na memória sejam mais rápidas que as leituras de disco local. Isso parece heresia para um velho temporizador como eu. (Passei algum tempo construindo um cache local no disco para evitar a necessidade de fazer viagens de ida e volta à rede - daí a minha pergunta)
Alguém tem alguma experiência / números / aconselhamento nesta área?
E sim, eu sei que a única maneira real de descobrir é construir e medir, mas eu estava pensando sobre a regra geral.
editar :
Estes são os dados interessantes da resposta superior:
Ida e volta no mesmo datacenter 500.000 ns
Procura de disco 10.000.000 ns
Isso é um choque para mim; meu modelo mental é que uma ida e volta da rede é inerentemente lenta. E não é - é 10x mais rápido que um disco 'ida e volta'.
Jeff attwood publicou este bom blog no tópico http://blog.codinghorror.com/the-infinite-space-between-words/