Certo, se hai una funzione di hashing che può mappare ordinatamente i tuoi dati. Due cose da tenere d'occhio: 
-  Il tuo sistema operativo / file system supporta file sparsi? Puoi cercare oltre la fine del file e scrivere un nuovo record senza dati intermedi? 
 
-  Come gestirai le collisioni hash? Ogni record avrà un qualche tipo di intestazione che contiene un puntatore al bucket successivo in una catena di overflow, o semplicemente traboccherai nel prossimo slot disponibile? Se vai nello slot successivo, come dirai se è disponibile? 
 
 Consiglierei di leggere i file ISAM, sono abbastanza vicini a quello che stai cercando di fare.