Sto lavorando a un progetto, per il quale voglio creare il mio formato di file per archiviare grandi quantità di dati. Sto cercando di decidere come deve essere costruito quel formato di file per essere il più efficiente possibile.
I dati che voglio memorizzare sono fondamentalmente una grande struttura dati.
L'idea che sto attualmente esaminando è la memorizzazione dei dati in un modo simile a una combinazione di XML e python. Ad esempio:
<Object1>
<InnerObject1>
<InnerInnerObject1>
variable1 = 31415
variable2 = "Hello World!!!"
</InnerInnerObject1>
</InnerObject1>
<InnerObject2>
variable1 = "abcd"
variable2 = 17
</InnerObject2>
</Object1>
, dove i tag corrispondono ai nomi delle classi e le variabili alle variabili.
Considerando i requisiti di tempo dei parser XML, non sono sicuro che la memorizzazione dei dati in questo modo consentirebbe una lettura abbastanza veloce.
La mia domanda è essenzialmente la seguente: esattamente come funzionano gli altri formati di file che memorizzano quantità significative di dati, ad esempio MP4 o OBJ? E non sto parlando della compressione o qualcosa del genere, ma del modo esatto in cui i dati vengono archiviati, in modo tale che il programma di lettura sappia quali dati mettere in memoria.
Grazie per l'aiuto in anticipo!