JSON o XML o altro - la maggior parte del tempo efficiente per la "lettura" in gran parte dei dati strutturati

0

Considerare che l'utilizzo di un DB relazionale o di altri database gerarchici o simili non è un'opzione, cercando l'approccio alternativo utilizzando un semplice KV-store semplice (ma molto veloce ed efficiente).

Il valore (riferito a chiave) è un BLOB crittografato, il cui contenuto è costituito da 2 entità / oggetti correlati, con una relazione 1: N 'referto-a'. Per es.

'Master' ==> (0:N) 'Pet'

Dove il Maestro ha molti attributi (ID-Unitario-Membro, Nome, Indirizzo, DoB, Genere ...), Pet ha molti attributi (Nome, DoB, attuale-maestro-Unico-Membro-Id, genere, classe , genere ...) e la proprietà degli animali domestici può cambiare (solo un esempio).

In tal caso, XML o JSON o un altro formato di codifica sarebbero i più efficienti (dal punto di vista di lettura / decodifica / velocità di calcolo, non dal punto di vista dell'efficienza dello storage), supponendo che un'applicazione Java debba leggere / decodificare queste informazioni molto veloce (la latenza di calcolo deve essere minima). Le scritture sono rari e la latenza della stessa non è un problema. Inoltre, si noti che utilizzerei il datastore KV per contenere anche gli indici per consentire la ricerca / ricerca utilizzando chiavi secondarie. Sono consapevole delle necessità di mantenere la coerenza e l'integrità referenziale, esplicitamente nella mia applicazione, per le operazioni di aggiornamento.

Sulla base delle mie ricerche (leggendo SO SO / Prog SE e altre fonti), JSON sembra essere il chiaro vincitore per i dati straight-foward non relazionali. C'è qualcosa che è ancora più veloce? Il fatto che i miei dati siano relazionali, anche se relativamente semplici, influisce sulla scelta tra JSON, XML o un'altra forma?

    
posta icarus74 25.04.2016 - 08:53
fonte

2 risposte

2

Puoi fare meglio di XML o JSON sfruttando le particolari caratteristiche dei tuoi dati particolari. Se i dati sono completamente piatti e ogni riga contiene gli stessi campi, CSV sarà più efficiente di XML o JSON. La ragione per cui le persone preferiscono in genere formati come XML e JSON è perché riconoscono che il costo di vita di un'applicazione e il valore di vita dei dati è più importante delle prestazioni della macchina, che è la risorsa più economica dell'intero sistema .

    
risposta data 25.04.2016 - 11:03
fonte
1

Il più efficiente sarebbe probabilmente un formato binario che potresti leggere direttamente nella memoria, saltando il passaggio di analisi.

    
risposta data 25.04.2016 - 12:41
fonte

Leggi altre domande sui tag