Esiste una soluzione di archiviazione dei dati in grado di interrogare, semplice, piatta, basata su XML? [chiuso]

7

Ho cercato a lungo un archivio dati in grado di interrogare basato su XML e, nonostante le continue ricerche e valutazioni, devo ancora trovare una soluzione che soddisfi i miei bisogni, che includono:

  1. I dati sono interamente contenuti nei nodi XML, in file di testo flat.
  2. Esiste un metodo "nativo", o almeno non invadente, con cui eseguire operazioni di creazione / lettura / aggiornamento / eliminazione (CRUD) sullo "schema". Prenderò in considerazione l'accesso tramite http, XHR, javascript, PHP, BASH o PERL per essere discreto, in base alla complessità dell'insieme di dipendenze.
  3. Letture e scritture sul file system lato server
  4. Un elemento dell'interfaccia lato client, accessibile in qualsiasi browser senza plug-in.

Alcuni requisiti aggiuntivi, preferiti (ma facoltativi) includono:

  1. Rispondi a semplici query SQL o di sintassi simile.
  2. Fornisci i dati su un server https nudo, senza "elementi aggiuntivi", tramite XMLHTTPRequest, HTTP appropriato o JSON.

Alcuni pensieri:

Quello che sto cercando potrebbe essere possibile tramite alcune implementazioni di server Java, ma per il gusto di questa domanda, non suggerire questo - a meno che non soddisfi TUTTI i requisiti. Java, specialmente sul lato client, non è davvero un'opzione, né è attraente dal punto di vista dello sviluppo. *

So che camminare sul filesystem è un po 'lungo, e ho sentito che è possibile con XPATH o XSLT, ma per quanto ne so, non è pronto per il primetime, né ancora una raccomandazione. Tuttavia, la capacità di attraversare in modo ricorsivo il filesystem è necessaria perché un tale sistema sia di utilità utile.

A questo punto, ho sostanzialmente implementato ciò che ho descritto tramite, tra tutte le cose, CGI e Bash, ma ci deve essere un modo più semplice. Pensieri?

    
posta alex gray 25.07.2011 - 00:08
fonte

3 risposte

3

Ci sono database XML nativi là fuori, eXist potrebbero essere i più famosi di loro.

Sono facilmente interrogabili e modificabili utilizzando la lingua standardizzata xQuery . Puoi anche usare tutte le altre funzionalità XML come xPath o xslt con loro. La ricerca full-text è facilmente integrata tramite Apache Lucene.

Lo svantaggio per i tuoi requisiti è che è basato su Java. Ma puoi semplicemente usarlo sul lato server e accedervi con qualsiasi lingua tu voglia, dato che il metodo standard per il recupero dei dati è fondamentalmente un servizio REST. Alcune lingue dispongono già di librerie per accedere a eXist-Datastore, come PHP e PERL .

Se ti sembra opportuno, dai un'occhiata alla scheda tecnica di eXist . Sono abbastanza sicuro che statifichi i tuoi requisiti.

    
risposta data 25.07.2011 - 09:10
fonte
2

Memorizzare i dati in file xml sembra un meccanismo di archiviazione davvero terribile da un punto di vista ingegneristico e questo è probabilmente il motivo principale per cui non esiste una soluzione standard a quello che stai chiedendo. La maggior parte delle persone memorizzerà i dati in una sorta di archivio dati relazionale o non relazionale ed eseguirà la traduzione dai dati in formato XML al volo, se necessario. I database sono progettati per operazioni CRUD veloci e molte ricerche sono state fatte per renderle tali. Reinventare tutto ciò e avviarlo su un file system è un po 'sciocco.

    
risposta data 25.07.2011 - 04:20
fonte
2

Hai esaminato e / o valutato questi database XML ?

a data persistence software system that allows data to be stored in XML format. These data can then be queried, exported and serialized into the desired format. XML databases are usually associated with document-oriented databases...

one reason for the use of XML in databases: the increasingly common use of XML for data transport, which has meant that "data is extracted from databases and put into XML documents and vice-versa". It may prove more efficient (in terms of conversion costs) and easier to store the data in XML format...

    
risposta data 25.07.2011 - 10:12
fonte

Leggi altre domande sui tag