Accettare che avere la persistenza è una buona cosa e che la quantità di dati necessari per quella persistenza può variare da quasi nulla (un singolo carattere o parola), a grandi quantità di dati, con complessità estreme, c'è certamente bisogno essere in grado di apportare modifiche man mano che il sistema cresce.
A seconda della quantità e complessità dei dati di persistenza, uno o più file che utilizzano XML, JSON o cose simili spesso funzionano, finché il volume dei dati diventa "troppo grande".
Mentre decidi tra "un mega file che ha l'intera configurazione o diversi file", considera anche il tipo di dati: sono principalmente dati altamente strutturati o non strutturati.
Se altamente strutturato, allora una soluzione come SQLite è una buona opzione. I dati sono nel DB e indicizzati ecc., La maggior parte dei problemi che hai citato saranno facili da risolvere.
Ho un problema simile: piuttosto che cercare di fornire la persistenza per una singola app, il mio problema è una grande quantità di dati che sono stati aggiunti e letti da diverse app diverse. Nonostante provi vari modi per combinare tutti questi elementi, in modo tale che tutte le voci relative a un oggetto specifico vengano combinate, quindi eliminando i duplicati, non sono riusciti. Solitamente perché le app sono state progettate per funzionare con quantità di dati molto più piccole.
SQLite non funziona per questo, perché i dati non sono ben strutturati: continuo a trovare nuovi elementi che avrebbero dovuto essere nel dizionario dei dati.
Recentemente sono stato introdotto in MongoDB, un tipo di database NoSQL. Per i miei bisogni, dal momento che tutti i miei file sono tali da poter estrarre i dati desiderati e creare documenti JSON, spero che MongoDB (o un tipo simile di DB) sia in grado di combinare, ordinare e deduplicare I bisogno.
Se puoi creare documenti JSON (o alcuni equivalenti) con i dati che hai attualmente e potenziarli con MongoDB o altri programmi NoSQL, dovresti essere in grado di trovare le risposte, come detto in precedenza da Robert Harvey.
Se ti ritroverai con dati ben organizzati, SQLite potrebbe essere un'ottima soluzione, o potresti scoprire che un semplice file XML può funzionare.