Sto creando un'applicazione in C ++ e ho scoperto che immagazzinare informazioni nel file XML è stato molto prodigo. Nonostante la possibilità di leggerlo senza alcuna applicazione specifica, accesso casuale tramite libreria DOM o VTD e possibilità di eseguire il backup tramite semplice file XML di copia, è molto costoso in RAM (anche se si utilizza VTD sono necessari 17 GB di RAM). Ora ci sono 12000 voci e sto pensando di memorizzarne fino a milioni. Ogni voce contiene 37 campi (ora, forse più in futuro) con diversi tipi: stringa, doppio, float e float a 128 bit. Questi campi sono distribuiti in 5 gruppi (gerarchia che è possibile tramite tag XML). Ho cercato di trovare qualcosa di più produttivo con gli stessi vantaggi. Sfortunatamente, googling non mi ha aiutato perché ci sono così tanti DB e DBMS che sono totalmente confuso.
La struttura del file XML:
<paient>
<analysis name="">
<result type="">some_data</result>
</analysis>
<diagnosis>
<preliminary></preliminary>
<final></final>
<diagnosis>
...
<patient>
Quindi potrei consigliarmi una soluzione per il mio problema?