Toon posts:

Snelheid Xml-files vs. MSSQL

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik hoop dat ik niks stoms vraag, maar ff het volgende:

Ik ben op het moment (voor m'n werk) bezig aan een applicatie, die grotendeels in ASP is geschreven...nou wordt hier gebruik gemaakt van een MSSQL-Server. Dat draait op zich perfect, maar heeft een paar kleine nadelen:

De licentie voor MSSQL is redelijk prijzig (voor de klant) en daarbij wordt er eigenlijk nauwelijks gebruik gemaakt van de mogelijkheden van die server...dwz: Er staan zo'n 80 tabellen in, 5-50 kolommen per tabel en gemiddeld per tabel zo'n 300 records. Ik maak vrijwel alleen gebruik van eenvoudige query's en heb bewust (op verzoek van mijn baas) ervoor gekozen geen stored procedures, geen koppelingen etc. etc. te gebruiken.
Nou vroeg ik me af: Stel dat ik die hele database zou omzetten naar xml + dtd of xsd...is dat een optie (rekening houdend met snelheid, betrouwbaarheid etc?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

Kort: nee. XML is geen vervanger van een database.

oogjes open, snaveltjes dicht


  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
kijk eens naar MY-sql

licentie vrij en broncode vrij :D

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 31-08 13:50

Apache

amateur software devver

je kan query's uitvoeren op xml data http://www.w3.org/XML/Query nog nooit mee gewerkt geen idee van de snelheid etc maar het kan dus zeker.

If it ain't broken it doesn't have enough features


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Wanneer je xml files als database vervanger zou willen gebruiken, is het grotenadeel dat je de integriteit van je data niet goed kan garanderen. Ik bedoel hier vooral mee dat je met lelijke file-locks moet gaan werken op het moment dat je iets gaat toevoegen. Verder is het toevoegen van data aan een xml bestand zowieso al niet erg fijn.

Als je het echter alleen gebruikt om van te lezen en je gebruikt in je asp's ook xslt voor de transformatie van de xml naar (x)html, dan zou het op zich wel de moeite waard zijn om er naar te kijken.

Het probleem van het updaten zou je trouwens ook kunnen afvangen door een server-applicatie te maken, die de xml cached in het geheugen. Die applicatie kan je dan gebruiken om je updates en xqueries heen te sturen.

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Op dinsdag 02 juli 2002 19:39 schreef Don Facundo het volgende:
Kort: nee. XML is geen vervanger van een database.
En wat is Apache Xindice dan? Ik geloof wel een XML based database.

http://xml.apache.org/xindice/

't Is geen vervanger van alle soorten en maten databases, maar tis wel een database.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je data echt sterk semi-gestructureerd (XML achtig is) kan je veel in ieder geval beter een native XML database pakken dan een eigen systeem met losse files.

Xindice is een voorbeeld van zo'n systeem.

Zie voor meer uitleg en veeeel meer systemen:

http://www.rpbourret.com/xml/XMLDatabaseProds.htm

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Genoil: En wat is Apache Xindice dan?
Hum, je was me net een minuut voor ;) . Voor de echte P&W topsport moet ik toch maar eens verhuizen naar een plek met label/ADSL ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Dus ff samengevat: Het kan wel, maar of het verstandig is, is nog twijfelachtig...toch?

Ik lees op die site van Xindice dat het niet geschikt is voor echt grote hoeveelheden data op te slaan, dus ik denk dat ik toch eens naar MySQL ga kijken...

Bedankt voor de reacties

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ik zou persoonlijk nooit een XML-database gebruiken (tenzij het echt om kleine hoeveelheden gegevens gaat zoals adressen of iets dergelijks). Het grootte nadeel is denk ik de hoeveelheid werk. Het aanmaken van extra tabellen, het leggen van de integrity constraints, etc.. is gewoon meer werk als in MSSQL of Oracle.

Ook denk ik dat dit behoorlijk in de performance te merken is. Vergeet niet dat webbased applicaties over het algemeen toch al niet snel zijn, en als je dan ook nog eens een trage backend gaat gebruiken wordt het alleen maar erger. Het moet natuurlijk wel voor de gebruikers acceptabel zijn.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
D-mension: Dus ff samengevat: Het kan wel, maar of het verstandig is, is nog twijfelachtig...toch?
Nee, das een verkeerde samenvatting: je moet je keuze niet baseren op kosten of wat dan ook, maar op de structuur van je data. Als de data sterk hierarchisch of semi-gestructureerd is, kan je voor een XML oplossing kiezen met een native XML database.

Als je alleen op zoek bent naar een goedkopere oplossing voor je relationele data, moet je gewoon op zoek naar een ander relationele database systeem en bekijken of die inderdaad lagere kosten met zich mee zal brengen. Denk daarbij echter niet alleen aan de licentie, maar ook aan de kosten voor het opdoen van kennis en de kosten van onderhoud. Een alternief zou bijvoorbeeld PostgreSQL kunnen zijn. MySQL vind ik persoonlijk kwalitatief gezien geen zinvol alternatief.

Xindice heeft trouwens alleen problemen met grote documenten: het is vooral bedoeld voor grote verzamelingen kleine documenten.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op dinsdag 02 juli 2002 23:36 schreef mbravenboer het volgende:
MySQL vind ik persoonlijk kwalitatief gezien geen zinvol alternatief.
Martin, martin martin ;)
Mysql trekt 80 tabellen * 50 colums * 300 rows echt wel hoor :)

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 31-08 13:50

Apache

amateur software devver

Op dinsdag 02 juli 2002 23:36 schreef mbravenboer het volgende:

[..]

... MySQL vind ik persoonlijk kwalitatief gezien geen zinvol alternatief.

...
MySQL 4.0.1 met innodb vind ik al best goed werken, maar dat is waarschijnlijk persoonlijke smaak :)

Zoals hij zelf aangaf is alles opgebouwd uit simpele query's dus mysql 3.x gaat het waarschijnlijk ook perfect lukken.

If it ain't broken it doesn't have enough features


  • OMX2000
  • Registratie: Januari 2001
  • Laatst online: 19:58

OMX2000

By any means necessary...

Op dinsdag 02 juli 2002 23:36 schreef mbravenboer het volgende:

[..]

Nee, das een verkeerde samenvatting: je moet je keuze niet baseren op kosten of wat dan ook, maar op de structuur van je data. Als de data sterk hierarchisch of semi-gestructureerd is, kan je voor een XML oplossing kiezen met een native XML database.

Als je alleen op zoek bent naar een goedkopere oplossing voor je relationele data, moet je gewoon op zoek naar een ander relationele database systeem en bekijken of die inderdaad lagere kosten met zich mee zal brengen. Denk daarbij echter niet alleen aan de licentie, maar ook aan de kosten voor het opdoen van kennis en de kosten van onderhoud. Een alternief zou bijvoorbeeld PostgreSQL kunnen zijn. MySQL vind ik persoonlijk kwalitatief gezien geen zinvol alternatief.

Xindice heeft trouwens alleen problemen met grote documenten: het is vooral bedoeld voor grote verzamelingen kleine documenten.
Nou ja ik ben het daar ook niet helemaal mee eens... Het gaat volgens mij vooral om kosten. Er zijn database modellen waarbij je werkt met meta-tabellen, en zo dus semi-gestructureerde gegevens kunt vastleggen. Het opzetten van zo'n database is makkelijk, maar je hebt dan als nadeel dat je in je business-logica de constraints van je data moet gaan afdwingen. Plus de snelheid is meestal ook niet echt om over naar huis te schrijven.

Mbravenboer heeft natuurlijk wel gelijk als ie zegt dat je gewoon naar goedkopere alternatieve databases moet gaan kijken.

Je vraag of je XML + DTD/XSD moet gebruiken is niet helemaal dekkend... Je zet niet zomaar een database om in XML door er een schema voor te schrijven. Veel constraints (referentiele integriteit, n-op-m relaties) kun je niet zonder truuks in een schema (XSD) stoppen. Dus als je echt XML als database wil gebruiken, zul je een object-georienteerde database moeten nemen, die output in XML kan uitspugen. Daar heb ik weinig ervaring mee, maar ik begrijp dat je daar qua licentiegeld ook niet blij van wordt.

Dè developers podcast in je moerstaal : CodeKlets Podcast


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
OMX2000: Het gaat volgens mij vooral om kosten.

Mbravenboer heeft natuurlijk wel gelijk als ie zegt dat je gewoon naar goedkopere alternatieve databases moet gaan kijken.
Exact, daar gaat het mij ook om. Je gaat niet op basis van een kostenoverweging een keuze maken tussen relationele database systemen of XML database systemen. Een keuze tussen die twee is prima, maar dan wel op basis van de structuur van je data.
Mysql trekt 80 tabellen * 50 colums * 300 rows echt wel hoor

Zoals hij zelf aangaf is alles opgebouwd uit simpele query's dus mysql 3.x gaat het waarschijnlijk ook perfect lukken.
Zelfs bij dergelijke kleine databases met voornamelijk eenvoudige queries kan bijvoorbeeld relationele integriteit nog wel erg belangrijk zijn :+ . Dit is geen standaard feature van MySQL (als ik het goed heb).
MySQL 4.0.1 met innodb vind ik al best goed werken, maar dat is waarschijnlijk persoonlijke smaak.
Idd, maar waarom kiezen voor een systeem waarbij je een ander table formaat moet gaan kiezen om doodnormale features van relationele systemen te krijgen? Als je keuze-mogelijkheden hebt omdat je bijvoorbeeld zelf de server beheerd, zie ik geen enkele zinvolle reden om MySQL te verkiezen boven PostgreSQL, vandaar dat ik MySQL geen zinvol alternatief noemde. Als je gedwongen bent om MySQL te gebruiken (zoals bij veel hosters) kan je uiteraard helemaal geen keuze maken.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tazzman
  • Registratie: Juli 2000
  • Laatst online: 05-01 10:48

tazzman

a real boardmonkey

Al eens over een Oracle 8/9 database nagedacht? Geen idee hoe dat zit met de licentiekosten ten opzichte van MS-SQL. Overigens kan je, als Visual Studio License holder, de MSDE (SQL Desktop Engine, uitgekauwde SQL 2000 severtje) gratis verspreiden en implementeren met je ASP application. Niet dat het je veel performance of gemakt winst geeft - Microsoft weet ook wel wat ze weg geven natuurlijk .. maar ik zeg het maar ff ;)

Het nieuwe speelgoed: een Saab 9-3 Aero (absoluut, helemaal en compleet fantastisch....)


  • OMX2000
  • Registratie: Januari 2001
  • Laatst online: 19:58

OMX2000

By any means necessary...

Op woensdag 03 juli 2002 09:41 schreef tazzman het volgende:
Al eens over een Oracle 8/9 database nagedacht? Geen idee hoe dat zit met de licentiekosten ten opzichte van MS-SQL. Overigens kan je, als Visual Studio License holder, de MSDE (SQL Desktop Engine, uitgekauwde SQL 2000 severtje) gratis verspreiden en implementeren met je ASP application. Niet dat het je veel performance of gemakt winst geeft - Microsoft weet ook wel wat ze weg geven natuurlijk .. maar ik zeg het maar ff ;)
Ik kan het niet laten, maar Oracle is volgens mij net zo duur, zo niet duurder dan MS-SQL. Oracle licenties zuigen... Ik begrijp goed dat je voor een dual CPU meer licentiegeld moet betalen, maar dat als je meer geheugen en een snellere CPU installeerd je ineens meer moet betalen?

Dè developers podcast in je moerstaal : CodeKlets Podcast


  • tazzman
  • Registratie: Juli 2000
  • Laatst online: 05-01 10:48

tazzman

a real boardmonkey

Zoals ik zei.. ik zou het niet weten wat betreft Oracle licenties, ik gebruik het gewoon op mijn werk. Bevalt mij net zo goed als niet beter dan MS SQL 2000 maar dat is gewoon persoonlijk voorkeur denk ik.

Het nieuwe speelgoed: een Saab 9-3 Aero (absoluut, helemaal en compleet fantastisch....)


Verwijderd

Op dinsdag 02 juli 2002 19:33 schreef D-mension het volgende:
zo'n 300 records. Ik maak vrijwel alleen gebruik van eenvoudige query's en heb bewust (op verzoek van mijn baas) ervoor gekozen geen stored procedures, geen koppelingen etc. etc. te gebruiken.
Je gebruikt geen koppelingen, ofwel geen referentiele integriteit?? Dan heb je ook geen relationele database nodig. Zonde van die SQL server.
Alleen om dezelfde functionaliteit in XML files neer te leggen die je nu met SQL server meekrijgt ben je wel even bezig. Een analyse van je queries zou helpen.
Overigens zijn de XML classes van .NET wel veel sneller dan de mogelijkheden die je hebt met standaard ASP.

btw rare baas heb jij eigenlijk: koopt een Rolls Royce maar laat em altijd in de 1e versnelling staan

  • SkyKnife
  • Registratie: Oktober 2001
  • Laatst online: 21-03 01:12
SQL Server 2000 and XML: Developing XML-Enabled Data Solutions for the Web
http://msdn.microsoft.com...s/02/01/SQLXML/SQLXML.asp

Hier worden 5 methodes besporken om je data naar html te zetten (+ sub methoden) nl:
http://msdn.microsoft.com...1/SQLXML/figures.asp#fig7

Snelheid vergelijking:
http://msdn.microsoft.com.../SQLXML/figures.asp#fig25

Lees en leer?

Verwijderd

Of je gebruikt gewoon access? Ik vind zelf XML een beetje zuigen. Maar, ja lees het goed voor dat we hier weer een topic over krijgen, dat is mijn persoonlijke mening. Maak gewoon lekker een oledb koppeling op je access db, snel en simpel.

Verwijderd

Als data integriteit belangrijk is (neem aan van wel) kan je imo echt niet zonder database, en dan maakt het nog niet zo veel uit welke.
'k Denk dat je dan maar beter op Access oid over kan gaan, daarvan zijn de kosten niet erg hoog. Al moet je dat niet gebruiken voor een druk bezochte site met veel concurrent users...

  • whoami
  • Registratie: December 2000
  • Nu online
*** gewoon eventjes vermelden dat de first-post van dit topic al van 2 juli 2002 dateert ***

https://fgheysels.github.io/


  • OMX2000
  • Registratie: Januari 2001
  • Laatst online: 19:58

OMX2000

By any means necessary...

Even een tip voor iedereen... gebruik msde, en check daar de kosten maar eens van... ;)

Dè developers podcast in je moerstaal : CodeKlets Podcast


Verwijderd

OMX2000 schreef op 25 september 2002 @ 17:34:
Even een tip voor iedereen... gebruik msde, en check daar de kosten maar eens van... ;)
Ja en de licentie? Mag je dat wel voor commercieel gebruik gebruiken? Vrij vitaal lijkt me.

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 17-08 22:44
Martin zeikt MySQL af... Nou dan gaan we over op die andere open source database. :P

Je kant natuurlijk ook altijd nog met een access databaseje gaan werken, of zeg ik nu iets vies? >:)
Pagina: 1