2012-11-09 16 views
6

Sommario: Esistono buone opzioni HTML5/javascript per la lettura selettiva di blocchi di dati (diciamo di essere eventualmente convertiti in JSON) da un file locale di grandi dimensioni?HTML5: accesso a dati locali strutturati di grandi dimensioni

problema che sto cercando di risolvere:
Alcuni programmi esistenti a livello locale e le uscite una tonnellata di dati. Voglio fornire un visualizzatore interattivo basato su browser che consenta alle persone di sfogliare questi risultati. Ho il controllo su come sono scritti i dati. Posso scrivere tutto in un unico grande file, ma dato che è abbastanza grande, non riesco a leggere l'intera cosa nella memoria. Quindi, sto cercando una sorta di accesso indicizzato o db-like a questo dalla mia webapp.

Thoughts on soluzioni:
1. forza bruta: HTML5 FileReader API ha una bella fetta (metodo) per l'accesso casuale. Quindi potrei scrivere una sorta di indice all'inizio del file, usarlo per cercare posizioni di altri oggetti memorizzati e leggerli ogni volta che sono necessari. Ho pensato di chiedere se ci sono già librerie javascript che fanno qualcosa del genere (o meglio) prima di provare a implementare questa cosa brutta.

2. Database locale HTML5. In sostanza, sto cercando un analogo della chiamata openDatabase() HTML5 che aprirà (una sola lettura) una connessione a un database basato su un file locale specificato dall'utente. Da quello che ho capito, non c'è modo di specificare un file con un database precaricato. Inoltre, anche se ci fosse un tale trucco, non è chiaro se il formato file locale sarebbe lo stesso tra i vari browser. Ho visto la soluzione PhoneGap che popola il database locale del browser da istruzioni SQL. Posso farlo anche io, ma i dati di cui sto parlando sono piuttosto grandi (5-10 GB): ci vorrà un po 'di tempo per caricare, e tale duplicazione sembra piuttosto inutile.

+0

è un'opzione per dividere il file sul file system locale in blocchi gestibili? – collapsar

risposta

1

HTML5 non suona come la risposta appropriata per le vostre esigenze. L'attenzione di HTML5 è sul lato client e, in base alla tua descrizione, stai chiedendo molto ai browser, molto probabilmente più di quanto possano gestire.

Vorrei invece consigliare una soluzione basata su server per fornire l'obiettivo/i risultati desiderati alla vista client, qualcosa come Splunk sarebbe un buon prodotto da considerare.

Problemi correlati