Penso che quello che hai descritto sia più come la differenza tra l'ottimizzazione per diversi pattern di accesso (sequenziale, batch vs accesso casuale) rispetto alla differenza tra throughput e latenza nel senso più puro.
Quando penso a un sistema a latenza elevata, non sto pensando a quale record sto accedendo, ma piuttosto che l'accesso a qualsiasi record ha un costo generale elevato. L'accesso anche solo al primo byte di un file da HDFS può richiedere circa un secondo o più.
Se la tua inclinazione è più quantitativa, puoi pensare al tempo totale necessario per accedere a un numero di record N come T(N)=aN+b
. Qui, a
rappresenta il throughput e b
rappresenta la latenza. Con un sistema come HDFS, N è spesso così grande che lo b
diventa irrilevante e i compromessi che favoriscono un basso a
sono vantaggiosi. Confrontalo in un archivio dati a bassa latenza, dove spesso ogni lettura accede solo a un singolo record e quindi l'ottimizzazione per il minimo b
è migliore.
Con ciò detto, la vostra dichiarazione non è errata; è sicuramente vero, ed è spesso il caso che gli archivi di accesso batch abbiano una latenza elevata e un throughput elevato, mentre gli store ad accesso casuale hanno una bassa latenza e un basso throughput, ma questo non è sempre il caso.
fonte
2013-05-23 21:26:10
mi sembra soddisfacente. – Tariq