webForumDet fria alternativet

xml som databas

17 svar · 863 visningar · startad av peterbladh

peterbladhMedlem sedan juni 2000277 inlägg
#1

Hej

När är det att rekommendera att ha xml-filer som databas istället för en riktig db?
Jag är rätt grön på xml, men har läst (i detta forum tex...) att folk använder xml-filer som databaser. Vad är fördelarna/nackdelarna?

/peter

------------------
/peterbladh

VideMedlem sedan dec. 19998 577 inlägg
#2

En xml-fil kan inte konkurera med en riktig databas vad gäller prestanda.

Xml kommer till sin rätt när den används som mellanlagring mellan två system, t.ex en "webservice".

Men som databas kan den som sagt inte konkurera.

------------------
Mostly Harmless

peterbladhMedlem sedan juni 2000277 inlägg
#3

Just i webservice-läget är det såklart smidigt, men i andra mellanlagringssammanhang tykcer jag inte fördelarna är lika tydliga... vilka är dom?

------------------
/peterbladh

RobbanMedlem sedan dec. 19992 555 inlägg
#4

Den stora fördelen är ju att XML är en standard. Finns många verktyg som kan arbeta med XML, och skriver man egna verktyg (i Java, Perl, C++ eller vad man nu använder) så finns det färdiga klasser, moduler o.s.v. man kan använda sig av.

------------------
Robban < robban@lipogram.com >

peterbladhMedlem sedan juni 2000277 inlägg
#5

...men det gör det ju för sql-server, access mfl oxå...?

varför inte mellanlagra där?

------------------
/peterbladh

SPiNMedlem sedan mars 20007 896 inlägg
#6

De är inte plattformsoberoende, som XML är. :)

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

SPiNMedlem sedan mars 20007 896 inlägg
#7

Kan också tillägga att om man ska använda XML som databas kan man bygga mycket mer komplexa databaser än i vanliga fall, med avancerad, men ändå enkel, struktur.

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

peterbladhMedlem sedan juni 2000277 inlägg
#8

ok

Men säg att det är en situation där platformsoberoende inte är en issue. Skall vad skall man då välja?

(Jag är med på ditt sista inlägg, men i det här fallet finns inte behovet...)

------------------
/peterbladh

SPiNMedlem sedan mars 20007 896 inlägg
#9

Då är ju en DBMS som SQL Server att föredra, om du nu har tillgång till det. Även Access skulle väl vara ett bättre alternativ, om du aldrig någonsin kommer att flytta över ditt då stora system till fetare burkar och OS än det nuvarande med MS. ;)

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

VideMedlem sedan dec. 19998 577 inlägg
#10

Man kan nog inte ge ett svar som täcker alla typer av applikationer, så vad skall din applikation göra?

------------------
Mostly Harmless

peterbladhMedlem sedan juni 2000277 inlägg
#11

Där just den här frågeställningen kommer in skall data skickas från en annan location, så man tycker ju att webservices skulle passa utmärkt. Men den snubben som ansvarar för att skicka över datan är mer inne på att skriva rakt i databasen, så jag samlar helt enkelt argument för xml.
Jag skriver i .net och jag tror att programmet som skall skicka data skall skrivas i C.

------------------
/peterbladh

SPiNMedlem sedan mars 20007 896 inlägg
#12

Det är just till sånt som XML ska användas, till att skapa protokoll för information. Ni skulle ju kunna ta en titt på ett redan existerande, nytt, protokoll - SOAP. Stödet i .NET är stort, och det finns säkerligen moduler att använda för C också.
http://www.w3.org/2000/xp/ , tror jag att det var... Gör gärna en sökning på MSDN också, dom har samlat rätt mycket information runt SOAP skulle jag gissa på. :)

Red.} Fel länk, nu är det rätt.

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

[Redigerat av SPiN den 08 jan 2002]

peterbladhMedlem sedan juni 2000277 inlägg
#13

Jorå, jag är medveten om fördelarna med soap/xml. Har faktiskt testat att använda en webservice skriven i C# från gamla VB6 - Gick utmärkt!! Så det lär ju fungera i C oxå.
Men som sagt snubben med C-programmet vill gärna göra det med ettor och nollor om ni fattar vad jag menar...

En annan situation är en bilddatabas som vi tänker bygga, är xml ett alternativ? Var går gränsen för antal samtida användare?

------------------
/peterbladh

SPiNMedlem sedan mars 20007 896 inlägg
#14

Äg honom med alla fördelar för XML! Bör inte vara så svårt... :)

Ang. dina två senare frågor har jag inga svar, vi får vänta tills Vide kommer tillbaka, eller Robban. Annars kommer nog emission hit lite senare. ;)

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

[Redigerat av SPiN den 08 jan 2002]

VideMedlem sedan dec. 19998 577 inlägg
#15

En annan situation är en bilddatabas som vi tänker bygga, är xml ett alternativ?

Använd en riktig databas för det, sedan kan du skapa en regelbunden export om du vill distrubera info om bilderna visserligen är xml snabbt om man jämför med filsystemets textbehandling, men jämför man med en databas så kommer den inte ikapp.

Samtidiga användare har ingen aning om, om servern klara multitasking på ett bra sätt så finns det väl inga begränsningar.

------------------
Mostly Harmless

JojoxxMedlem sedan juni 20004 308 inlägg
#16

Det skulle nog vara enklare att ge ett konkret svar med lite med bakgrundsinfo. Men handlar det om datalagring så tycker jag allt talar för en databas. När du kommer upp i några tusen poster som frekvent läses och skrives simultant av ett antal användare blir det rättså tungrott med XML :) Det hindrar ju inte att ni har ett verktyg för att importera xml-filer från externa källor. XML'en kan enkelt valideras efter uppsatt DTD för att vara säker att datat är ok. Annars är det upp till er programmerare att kolla alla dessa parametrar.

En garderob för att lagra kläderna i och en resväska för att flytta dem.

------------------
/ J

Han-SoloMedlem sedan jan. 2001290 inlägg
#17

ok... då ska jag lägga mig i leken oxå. Lite sent men? :)

Garderob för att lagra kläderna i och en resveska för att flytta dem.

Jag är lite konfunderad nu. Vad ska jag använda för att visa dem? Ska jag ta resväskan då oxå? ;)

Jag håller på att skapa en webbplats nu där viss information inte kommer att ändras särskilt ofta. Att lista allt från databasen såfort en besökare vill se sidan, känns lite onödigt? Är det inte i detta fall en prestanda vinst att skapa xml filer utifrån databasen när något ändras och visa besökarna xml filen?

Lr?

jarvkloMedlem sedan juli 20013 378 inlägg
#18

Om du pratar om XML som skall returneras i en "web service", t.ex. via SOAP eller via XML-RPC är det nog så (man kan ju i så fall se det som att du "cachear" resultatet från en (tung?) databasfråga i en XML-fil i stället för att köra n st (kanska samtidiga) databasanrop ;) )

Om du skall visa upp resultatet som en (komplett) webbsida, vinner du antagligen ännu mer på att hoppa över XML-steget helt och i stället generera HTML (eller xhtml ;) ) när informationen i databasen ändras ;)

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)