/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Er det klogt at varier mellem db og txt?
Fra : Jakob Jensen


Dato : 12-07-02 19:48

Hej NG

Jeg vil høre hvad i synes om, at lave en side, hvor alt står i db, hvor
alt står i filer, som hentes eller en blanding. Hvad er bedst?

Er det bedst at kører det hele via db'en eller vil i foreslå, at man
gemmer data i db'en og måske skriver det mere faste indhold på siderne i
en fil, som så forholdvis nemt, kan oversættes til andre sprog.

Hvad synes i, kom med et eksempel, så jeg får bedre mulighed for at
danne en mening. Er det smart at bruge filer i chat, forum eller andre
services som dem?

Med venlig hilsen
Jakob Jensen


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

 
 
Tonni Aagesen (13-07-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 13-07-02 00:38

Jakob Jensen wrote:

> Jeg vil høre hvad i synes om, at lave en side, hvor alt står i db, hvor
> alt står i filer, som hentes eller en blanding. Hvad er bedst?
>
> Er det bedst at kører det hele via db'en eller vil i foreslå, at man
> gemmer data i db'en og måske skriver det mere faste indhold på siderne i
> en fil, som så forholdvis nemt, kan oversættes til andre sprog.
>
> Hvad synes i, kom med et eksempel, så jeg får bedre mulighed for at
> danne en mening. Er det smart at bruge filer i chat, forum eller andre
> services som dem?

Det afhænger vel mest af, hvad man selv er til. Du kan lave stort set
det samme med filer som med database. Eneste forskel jeg lige kan komme
på må være performance, uden at jeg ved præcis hvad der performer bedre
i en given situation. Dog er det ikke smart at lægge store billeder i
database (MySQL).

Jeg foretrækker selv at bruge database til det indhold på en side, der
er dynamisk men som f.eks. nyheder, forum m.m. (som iøvrigt sagtens kan
laves filbaseret). Skulle jeg lave en chat, ville jeg nok vælge en
løsning baseret på filer p.g.a. de mange kald til databasen.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Søren Lund Jensen (13-07-2002)
Kommentar
Fra : Søren Lund Jensen


Dato : 13-07-02 01:32

"Tonni Aagesen" <use.my@signature.please> wrote in message
news:3D2F6863.1010000@signature.please...
> Jakob Jensen wrote:
>
> > Jeg vil høre hvad i synes om, at lave en side, hvor alt står i db, hvor
> > alt står i filer, som hentes eller en blanding. Hvad er bedst?

> Jeg foretrækker selv at bruge database til det indhold på en side, der
> er dynamisk men som f.eks. nyheder, forum m.m. (som iøvrigt sagtens kan
> laves filbaseret). Skulle jeg lave en chat, ville jeg nok vælge en
> løsning baseret på filer p.g.a. de mange kald til databasen.

Det, som Tonni, sagde :) Og så skal man jo også huske på, at databaser er
lidt nemmere at have med at gøre.



Niels Andersen (13-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-07-02 02:19

Tonni Aagesen wrote in <3D2F6863.1010000@signature.please>:
> Det afhænger vel mest af, hvad man selv er til. Du kan lave stort set
> det samme med filer som med database.

Ligesom man kommer stort lige så langt på cykel, som i bil. Det er bare
lidt mere besværligt.

Men til dagligt siger man vist, at man kan en hel del mere med databaser.

> Eneste forskel jeg lige kan komme
> på må være performance, uden at jeg ved præcis hvad der performer bedre
> i en given situation.

Du kan se på det på denne måde.
Man kan putte hvad som helst i en fil, og du kan gøre med det hvad du vil.
Det er et spørgsmål om vilje, evne og tid. Sådan en fil med masser af data,
kaldte man engang en database.

Man kan også bruge noget kode andre har skrevet, som gør det meget nemmere
at håndtere visse typer data. Det hedder en "database manager", i daglig
tale blot "database". MySQL er nok det mest kendte eksempel her i gruppen
på en "database manager".

> Dog er det ikke smart at lægge store billeder i
> database (MySQL).

Nogen gange er database manageren en omvej. Fx. ved større mængder binær
data, som man alligevel ikke gør noget ved. Der kan databasen (som styres
af database-manageren) lige så godt bare henvise til en fil, som indeholder
det binære data.

> Skulle jeg lave en chat, ville jeg nok vælge en
> løsning baseret på filer p.g.a. de mange kald til databasen.

Skulle jeg lave en chat sammen med nogen, og den "nogen" ville bruge filer
til chat-data, ville jeg løbe skrigende væk.

Jaja, det dur fint nok når man holder det meget simpelt, og der kun er få
brugere. Dvs. når man tester i starten af et projekt.
Men hvis det rent faktisk skal bruges til noget, så er det straks noget
andet.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Tonni Aagesen (13-07-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 13-07-02 05:22

Niels Andersen wrote:

> Men til dagligt siger man vist, at man kan en hel del mere med databaser.

Jeg har haft en censor, der gerne vil udfordre den påstand
Hvis man ser på det overordnet, er en database jo ikke andet end
tabeller/filer med et avanceret administrationsinterface (i mangel af et
bedre ord).

Men for webhoteller generelt har databaser også sine begrænsninger.

>>Eneste forskel jeg lige kan komme
>>på må være performance, uden at jeg ved præcis hvad der performer bedre
>>i en given situation.
>
> Du kan se på det på denne måde.
> Man kan putte hvad som helst i en fil, og du kan gøre med det hvad du vil.
> Det er et spørgsmål om vilje, evne og tid. Sådan en fil med masser af data,
> kaldte man engang en database.
>
> Man kan også bruge noget kode andre har skrevet, som gør det meget nemmere
> at håndtere visse typer data. Det hedder en "database manager", i daglig
> tale blot "database". MySQL er nok det mest kendte eksempel her i gruppen
> på en "database manager".

Jaja, men hvad har det med performance at gøre? (eller misforstår jeg
dig?). Jeg ved ikke om der er forskel på performance på filer/DB og hvor
den ligger.

>>Dog er det ikke smart at lægge store billeder i
>>database (MySQL).
>
> Nogen gange er database manageren en omvej. Fx. ved større mængder binær
> data, som man alligevel ikke gør noget ved. Der kan databasen (som styres
> af database-manageren) lige så godt bare henvise til en fil, som indeholder
> det binære data.

Hvilket betyder at man gemmer stien til billedet i databasen i stedet
for selve billedet.

>>Skulle jeg lave en chat, ville jeg nok vælge en
>>løsning baseret på filer p.g.a. de mange kald til databasen.
>
> Skulle jeg lave en chat sammen med nogen, og den "nogen" ville bruge filer
> til chat-data, ville jeg løbe skrigende væk.
>
> Jaja, det dur fint nok når man holder det meget simpelt, og der kun er få
> brugere. Dvs. når man tester i starten af et projekt.
> Men hvis det rent faktisk skal bruges til noget, så er det straks noget
> andet.

Sidste (og eneste) gang jeg lavede en chat, var den filbaseret og den
performede udmærket - den var godt nok lavet i perl og der var heller
ikke adgang til database. Jeg har dog ikke for vane at afskrive en
metode fremfor en anden, før jeg har et solidt grundlag at vælge udfra,
hvilket jeg ikke har i dette tilfælde.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Christian Hansen (13-07-2002)
Kommentar
Fra : Christian Hansen


Dato : 13-07-02 12:07

Tonni Aagesen wrote:

> Sidste (og eneste) gang jeg lavede en chat, var den filbaseret og den
> performede udmærket - den var godt nok lavet i perl og der var heller
> ikke adgang til database. Jeg har dog ikke for vane at afskrive en
> metode fremfor en anden, før jeg har et solidt grundlag at vælge udfra,
> hvilket jeg ikke har i dette tilfælde.


Der er jo også mange faktorer, der gør sig gældende, når man skal vælge
mellem filbaseret data og databasebaseret data ( i mangel af bedre ord

Jeg har selv arbejdet med begge dele. For nogen tid siden lavede jeg et
debatforum i perl, som var filbaseret. Fordelene ved at det er
filbaseret er som følger.

-Man er ikke afhængig af en bestemt database og at denne fungerer.
-Af samme grund er systemet nemmere at have med at gøre på forskellige
systemet.

mht performence så er der vist ikke den store forskel mellem filbaseret
og databasebaseret. De vil kun kunne mærkes hvis man har med større
systemet at gøre.

( og nu er perl jo også ret hurtigt, især, når det gøre via mod_perl

Fordelene ved et databasebaseret system er, at man får en masse
funktionallitet stillet til rådighed på forhånd gennem
databasegrænsefladen. Det gør det utroligt nemt at arbejde med data og
oplevelsen bliver, at data er meget mere fleksible end det er tilfældet
ved et filbaseret system.

Men ved et databasesystem binder mig sig i forhold til at der skal være
en database til rådighed for at systemet kan fungerer.


P.S. Hvis du bestemmer dig for at bruge databaser, så gør dig selv en
stor tjeneste. Lav selv, eller find et databaseabstraktionslag, så du
kun skal ændre et sted, hvis der skiftes mellem forskellige databaser. I
praksis betyder det at man laver en stump kode, som fungerer som "tolk"
mellem dit egentlige program og selve databasen. Ændres databasen til en
anden, skal man blot ændre "tolkens" måde at snakke med databasen på.
Måden den snakker med dit program forbliver uændret.

MVH Christian




Jonas Koch Bentzen (14-07-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 14-07-02 11:20

Christian Hansen skrev:
>
> P.S. Hvis du bestemmer dig for at bruge databaser, så gør dig selv en
> stor tjeneste. Lav selv, eller find et databaseabstraktionslag, så du
> kun skal ændre et sted, hvis der skiftes mellem forskellige databaser.

PEAR DB (http://pear.php.net/manual/en/core.db.php) kan anbefales. Jeg -
samt en del andre PHP-programmører - håber på, at PEAR DB kan blive
standardmetoden til at tilgå databaser i PHP. Det ville være meget
lettere at rette i andres kode samt portere til forskellige databaser,
hvis alle brugte det.

Et eksempel på brug af PEAR DB:

<?php
require_once("DB.php");

# Automatisk fejlhåndtering, så man ikke behøver at tjekke for fejl, når
# man skriver selve PEAR DB-kommandoerne.
PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);

# Ændr pgsql til mysql, hvis du bruger MySQL.
$db = DB::connect("pgsql://brugernavn:adgangskode@vaert/databasenavn");

# Alle rækker skal returneres som et associativt array:
$db->setFetchMode(DB_FETCHMODE_ASSOC);



$resultat = $db->query("SELECT id, navn FROM tabel");

while ($raekke = $resultat->fetchRow()) {
   echo "$raekke[navn] har ID-nummer $raekke[id]<br/>\n";
}
?>


Niels Andersen (13-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-07-02 12:02

Tonni Aagesen wrote in <3D2FAACC.7050203@signature.please>:
>> Men til dagligt siger man vist, at man kan en hel del mere med databaser.
> Jeg har haft en censor, der gerne vil udfordre den påstand

Selvfølgelig kan man selv lave den samme funktionalitet. Det er bare så
helvedes besværligt.
Derfor betragter de fleste en database som værende "mere funktionel". Jeg
synes i hvert fald at mange selv simple features i en database er noget,
som jeg vil være meget ked af at skrive i PHP.

> Hvis man ser på det overordnet, er en database jo ikke andet end
> tabeller/filer med et avanceret administrationsinterface (i mangel af et
> bedre ord).

Det er jeg helt enig med dig i. Men jeg mener altså at det "avancerede
administrationsinterface" (database manageren) er guld. Ingen grund til at
lege alkymist med PHP.

> Men for webhoteller generelt har databaser også sine begrænsninger.

Nå?

>>>Eneste forskel jeg lige kan komme
>>>på må være performance, uden at jeg ved præcis hvad der performer bedre
>>>i en given situation.
>>
>> Du kan se på det på denne måde.
>> Man kan putte hvad som helst i en fil, og du kan gøre med det hvad du
>> vil. Det er et spørgsmål om vilje, evne og tid. Sådan en fil med masser
>> af data, kaldte man engang en database.
>>
>> Man kan også bruge noget kode andre har skrevet, som gør det meget
>> nemmere at håndtere visse typer data. Det hedder en "database manager", i
>> daglig tale blot "database". MySQL er nok det mest kendte eksempel her i
>> gruppen på en "database manager".
>
> Jaja, men hvad har det med performance at gøre? (eller misforstår jeg
> dig?). Jeg ved ikke om der er forskel på performance på filer/DB og hvor
> den ligger.

Nogle gange bruger man nogle funktioner fra db-manageren, som der er brugt
ufatteligt meget krudt på at optimere. Fx. "LIKE", fulltext search,
sortering osv. Selv om man implementerede det samme i PHP, og fik samme
funktionalitet, ville PHP er uhyggeligt meget langsommere.
Andre gange er db-manageren bare en omvej.

>> Nogen gange er database manageren en omvej. Fx. ved større mængder binær
>> data, som man alligevel ikke gør noget ved. Der kan databasen (som styres
>> af database-manageren) lige så godt bare henvise til en fil, som
>> indeholder det binære data.
>
> Hvilket betyder at man gemmer stien til billedet i databasen i stedet
> for selve billedet.

Det var vist det jeg sagde.

> Sidste (og eneste) gang jeg lavede en chat, var den filbaseret og den
> performede udmærket - den var godt nok lavet i perl og der var heller
> ikke adgang til database.

Hvis der ikke er adgang til database, så har man jo heller ikke de store
valg.
Men der skal altså ikke meget til, før du får problemer med file-locking og
statistik til fx. flood-protection osv.

Men som sagt, så længe det bare er en simpel chat, og der ikke er for mange
på den, så går det nok. Jeg synes bare stadigvæk at det er nemmere, at
bruge en database.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Tonni Aagesen (13-07-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 13-07-02 12:43

Niels Andersen wrote:

>>Men for webhoteller generelt har databaser også sine begrænsninger.
>
> Nå?

Ja, det har jo ikke noget med databasens evner at gøre, men er et
eksempel på, hvor man må bruge filer i stedet for database:

Hvis man ønsker at dele sine data med andre, hvilket man sjældent har
mulighed for at gøre gennem database. Jeg driver f.eks. et site, hvor
jeg giver andre sites adgang til data fra databasen via en via en xml fil.

>>Hvilket betyder at man gemmer stien til billedet i databasen i stedet
>>for selve billedet.
>
> Det var vist det jeg sagde.

Præcis, jeg oversatte det bare

> Men som sagt, så længe det bare er en simpel chat, og der ikke er for mange
> på den, så går det nok. Jeg synes bare stadigvæk at det er nemmere, at
> bruge en database.

Klart, det synes jeg også.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Niels Andersen (13-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-07-02 12:49

Tonni Aagesen wrote in <3D301250.3050406@signature.please>:
>>>Men for webhoteller generelt har databaser også sine begrænsninger.
>> Nå?
> Ja, det har jo ikke noget med databasens evner at gøre,

Så var det derfor jeg blev forvirret. Jeg troede det var det, vi snakkede
om. :)

> men er et
> eksempel på, hvor man må bruge filer i stedet for database:

Dem tror jeg at jeg kan komme med mange af. Specielle situationer opstår
der ofte, men de passer altså ikke så godt ind i en generel diskussion.

> Hvis man ønsker at dele sine data med andre, hvilket man sjældent har
> mulighed for at gøre gennem database.

Nårh, det kommer nu an på...
Hvis man bruger et webhotel, hvor man har én account med adgang til
databasen, og den har fuld adgang, så er man lidt på den.

Men, mon ikke det kan lade sig gøre at få en ekstra account, med begrænset
adgang? :)

> Jeg driver f.eks. et site, hvor
> jeg giver andre sites adgang til data fra databasen via en via en xml fil.

Nu er "deling af data" jo ikke særligt specifikt, jeg kan komme i tanker om
flere gode måder at gøre det på, som er gode i vidt forskellige
situationer. Din aktuelle løsning vil da også være optimal til nogle
tilfælle.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jakob Jensen (14-07-2002)
Kommentar
Fra : Jakob Jensen


Dato : 14-07-02 10:13

Mange tak for alle svarende

Med venlig hilsen
Jakob Jensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste