Ik heb het volgende probleem:
Ik krijg dagelijks ongeveer 1 miljoen xml's binnen (verdeeld over ongeveer 50 soorten). Op de totale inhoud wil ik graag diverse queries uitvoeren (in batch, dus niet via een GUI). Deze moeten vrij snel uit te voeren zijn. Nu heb ik verder weinig ervaring op dit gebied, dus ik kan wel wat advies gebruiken.
Mijn eerste gedachte was: Ik map de inhoud van de XMLs naar een relationele structuur. Bij binnenkomst van een serie XMLs parse ik ze en voeg ze toe aan de juiste relationele tabellen. Daarna kan ik "normale" SQL queries uitvoeren. Maar een kleine steekproef leert me dat ik per XML soort gemiddeld zo'n 10 relationele tabellen zou nodig hebben. Ik krijg veel tabellen, en het parseren duurt lang. De hoeveelheid tabellen kan ik nog mee leven, maar het lange parseren niet. Wat is de snelst beschikbare optie hiervoor? Ik zie veel XML parsers op Internet, maar wat is jullie ervaring?
Een andere optie is misschien om gebruik te maken van een "Native XML database", zoals Wikipedia: BaseX. Maar hier weet ik eigenlijk helemaal niets van af. Wat is hier snel? Heeft het veel voordelen?
Ook SQL Server biedt een mogelijkheid om XML te parseren. En ook hier heb ik geen ervaring mee.
Het lijkt mij dat je vroeg of laat toch moet parseren, dus dat je die tijd altijd kwijt bent. Aangezien ik een xml bestand gemiddeld meer dan eens wil uitvragen, lijkt het toch verstandig om bij binnenkomst al te parseren. Maar ik ben hier niet helemaal zeker van.
Ik krijg dagelijks ongeveer 1 miljoen xml's binnen (verdeeld over ongeveer 50 soorten). Op de totale inhoud wil ik graag diverse queries uitvoeren (in batch, dus niet via een GUI). Deze moeten vrij snel uit te voeren zijn. Nu heb ik verder weinig ervaring op dit gebied, dus ik kan wel wat advies gebruiken.
Mijn eerste gedachte was: Ik map de inhoud van de XMLs naar een relationele structuur. Bij binnenkomst van een serie XMLs parse ik ze en voeg ze toe aan de juiste relationele tabellen. Daarna kan ik "normale" SQL queries uitvoeren. Maar een kleine steekproef leert me dat ik per XML soort gemiddeld zo'n 10 relationele tabellen zou nodig hebben. Ik krijg veel tabellen, en het parseren duurt lang. De hoeveelheid tabellen kan ik nog mee leven, maar het lange parseren niet. Wat is de snelst beschikbare optie hiervoor? Ik zie veel XML parsers op Internet, maar wat is jullie ervaring?
Een andere optie is misschien om gebruik te maken van een "Native XML database", zoals Wikipedia: BaseX. Maar hier weet ik eigenlijk helemaal niets van af. Wat is hier snel? Heeft het veel voordelen?
Ook SQL Server biedt een mogelijkheid om XML te parseren. En ook hier heb ik geen ervaring mee.
Het lijkt mij dat je vroeg of laat toch moet parseren, dus dat je die tijd altijd kwijt bent. Aangezien ik een xml bestand gemiddeld meer dan eens wil uitvragen, lijkt het toch verstandig om bij binnenkomst al te parseren. Maar ik ben hier niet helemaal zeker van.