A cosa serve un buon uso dei database XML nativi? [chiuso]

3

Quale sarebbe un buon caso d'uso usare un database XML nativo come Apache Xindice ed eXist-db? In passato ho utilizzato le funzionalità XML di SQL Server ed erano di grande valore, ma è possibile utilizzare XML per il 5% e lo storage tradizionale per il 95% dell'applicazione. Quali tipi di applicazioni trarrebbero vantaggio da una memoria XML al 100%?

    
posta andreas 25.12.2013 - 19:01
fonte

3 risposte

3

Dato che hai un programma o un sistema di programma che produce output sotto forma di documenti XML, e i dati in quei documenti XML non si adattano bene, per esempio, a un modello di dati relazionale, quindi un database XML può essere lo strumento migliore per archiviare i documenti e renderli interrogabili.

Questo non è un caso d'uso ipotetico - il nostro team sviluppa un prodotto in cui vengono prodotti tali documenti XML. Fino ad ora non abbiamo utilizzato un database, solo le cartelle con raccolte di documenti XML e un numero crescente di strumenti per l'elaborazione batch dei documenti in base al singolo file. Ma penso che più strumenti otteniamo, più avrà senso passare a un database.

    
risposta data 25.12.2013 - 22:44
fonte
7

L'unico caso d'uso che viene in mente è un piccolo blog, ma ne ho visto più di uno convertito in un database quando hanno scoperto che l'utilizzo di XML per l'archiviazione non viene ridimensionato.

L'XML viene spesso confuso con i database da chi non ha familiarità con esso. XML è progettato per essere un formato di scambio di dati, non un supporto di memorizzazione.

Detto questo, apache Xindice afferma il caso per un database XML abbastanza eloquente. Dicono:

The benefit of a native solution is that you don't have to worry about mapping your XML to some other data structure. You just insert the data as XML and retrieve it as XML. You also gain a lot of flexibility through the semi-structured nature of XML and the schema independent model used by Xindice. This is especially valuable when you have very complex XML structures that would be difficult or impossible to map to a more structured database.

    
risposta data 25.12.2013 - 19:35
fonte
2

Le caratteristiche dell'applicazione che rendono attraente un formato XML (rispetto a RDBMS) per la memorizzazione sono:

  1. Elaborazione di singoli elementi "root" in isolamento (invece di elaborare gruppi di individui in un batch)
  2. Un piccolo numero di individui ("n = 1") o variabilità significativa tra gli individui in relazione alla presenza o al numero di attributi facoltativi (possibilmente estendendo a un ampio uso di attributi personalizzati).
  3. "Proprietà" altamente limitata dei dati, in modo tale che la concorrenza per i blocchi per aggiornare le persone non si verifichi.

Per "individuo" qui non intendo (solo) persone, ma qualunque entità sia centrale nella logica aziendale dell'applicazione. Per esempio. un "individuo" potrebbe essere proprietà residenziali in un'applicazione di vendita di immobili o una data di calendario in un'applicazione di pianificazione giornaliera.

    
risposta data 25.12.2013 - 20:49
fonte

Leggi altre domande sui tag