Quale metadada salvare e se includerlo nel file binario?

2

Mi chiedo se ci siano linee guida o best practice generali riguardo a quando suddividere i dati in un formato di metadati, in opposizione all'inclusione diretta all'interno dei dati. (Esempio specifico sotto).

La mia comprensione dei metadati è che descrive i dati (senza la necessità di esaminare effettivamente i dati), consentendo di cercare / filtrare rapidamente i dati per un facile accesso.

Prendiamo ad esempio un semplice formato di modello 3D. Il vero file di dati è esso stesso un file binario che contiene vertici e colori. Cose come data di creazione, dati modificati e nome dell'autore sarebbero cose che descrivono i dati binari, quindi direi che appartengono ai metadati (al di fuori del file binario).

Ma sorgono le seguenti domande:

  • Cosa succede se l'applicazione non ha bisogno di cercare o filtrare in base a questi campi?
  • Sarebbe accettabile incorporare questi campi direttamente nei dati binari stessi?
  • Potrebbero essere duplicati sia nei dati binari che nei metadati, o sarebbe considerata una cattiva pratica?
  • Che dire di più campi ambigui come il nome del modello, che potrebbero essere considerati parte dei dati stessi, ma anche come dati che descrivono i dati binari?
  • Come decidi quali dati incorporare nel file binario effettivo, invece di separarli in un formato di metadati più flessibile?

Grazie!

    
posta smg 09.06.2014 - 07:53
fonte

3 risposte

1

Penso che salvare i metadati all'interno del file binario e fornire una specifica in modo che chiunque possa programmare un'API abbia i suoi vantaggi.

Molti tipi binari includono i metadati all'interno del file stesso, fornendo una specifica pubblica o API su come accedervi. Gli esempi potrebbero essere i tag ID dei formati mp3, i metadati dei file PDF, i dati EXIF delle immagini, ecc.

Che fa sì che il metadada viaggi con il file ovunque vada

Le applicazioni non hanno alcun problema a leggere quei metadati per popolare un database, o anche ad aggiornare i metadati nel file stesso, come iTunes o Rhythmbox su file audio.

    
risposta data 08.08.2014 - 15:12
fonte
0

Hai la distinzione tra dati e meta dei metadati su.

Due aspetti vengono in mente per questo. Uno è la programmazione e l'altro è gestibile. Per quanto riguarda la programmazione, concordo sul fatto che "un file, un dato" ha il suo fascino. È possibile scrivere un gestore piacevole e pulito per i dati bindari senza ingombrarli con meta-shenanigans disordinati. Per la gestibilità, chiunque usi il binario vorrà conoscere la sua provenienza, qualità, tempestività, ecc. Separare questi è un problema che si sta verificando. Un giorno copi il binario e non il meta e due settimane dopo non riesci a ricordare di che cosa sia o da dove provenga.

A conti fatti, scelgo un approccio all-in-one-file quando ho la scelta. Il gestore di file può essere un wrapper attorno ai bit di parsing e meta-analisi binari. Se un'applicazione non richiede mai la meta, la parte rilevante del codice non viene mai chiamata. La dimensione dei metadati raramente sarà un problema rispetto alla porzione binaria,

    
risposta data 09.06.2014 - 13:16
fonte
0

Come suggerisce il nome, i "metadati" vanno "oltre i dati". Non ci sono regole generali su cosa, come o dove dovrebbe essere.

Metadati all'interno dello stesso file

Ci sono molti esempi: i file di immagini possono contenere dati EXIF all'interno, i file MP3 possono contenere dati di identificazione, ecc.

A volte è all'inizio del file (più difficile da modificare) e talvolta viene aggiunto alla fine (più facile da aggiungere o modificare).

Non hai molta libertà di modificare la struttura dei metadati e dovresti rispettare un formato predefinito.

Metadati come file "side-car"

Se preferisci non toccare il file originale, puoi utilizzare un file side-car . Hai molta libertà di modificare la struttura dei metadati, in quanto non manomettere il file originale in alcun modo.

Metadati in un database

Esistono alcune applicazioni in cui i metadati non sono nemmeno un file fisico, ad esempio molte applicazioni di gestione documenti. I vantaggi sono facili da vedere.

Conclusione:

Ognuno ha i suoi pro e contro.

  • Se non vuoi o non puoi toccare il file stesso, vai al sidecar o database .
  • Se vuoi fare ricerche veloci o avere i metadati più centralizzati, vai al database .
  • Se vuoi mantenerlo compatto ... vai ai metadati all'interno ... e documentare bene la struttura dei metadati o si può rompere il file integrità.
risposta data 10.01.2017 - 17:48
fonte

Leggi altre domande sui tag