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.