Manca un'informazione fondamentale: di quanti file stai parlando? 1000/100.000?
Fino a 1000 o anche 10.000 elementi, ti potrebbe bastare un banale file ASCII per la memorizzazione ed una
mappa STL come struttura dati per l'interrogazione.
Un'alternativa e' usare i meccanismi di
serializzazione/deserializzazionr di oggetti in memoria
http://www.boost.org/doc/libs/1_59_0/libs/serialization/doc/index.html
Quando serve un database relazionale?
Quando i dati sono talmente tanti da non poter essere contenuti in memoria, ed hai la necessita' di fare delle interrogazioni
complicate (e quindi ti servono le relazioni)
I db relazionali, pero', non sono gli unici db esistenti.
Nel tuo caso, ad esempio, potrebbe bastarti qualcosa come
gdbm o
berkley db: sono fondamentalmente delle
mappe persistenti
http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html
Non esistolo soluzioni standard, perche' ci sono molti fattori da prendere in considerazione.
Compito di un
vero programmatore e non di un
mangiatore di ciocori' (vecchia storiella ) e' quello di conoscere n-mila modi per fare qualcosa e scegliere di volta in volta la soluzione piu' adatta alla situazione.