"Lauritz Jensen" <lauritz2@hotmail.com> skrev i en meddelelse
news:3B24D906.5D130B51@hotmail.com...
> Peter Lykkegaard wrote:
> > "Lauritz Jensen" wrote:
> > > Peter Lykkegaard wrote:
> > > > Forestil dig et scenarie med flere webservere og en
> > > > bagvedliggende sql server
> > >
> > > I filsystemet og så enten lave noget replikering af filerne
> > > eller lægge dem på en fælles filserver.
[KLIP]
> > >Det vil simpelthen være synd og skam at
> > > bruge database serveren til det. Den har som regel travlt nok i
> > > forvejen og den kan jo ikke så nemt skaleres ud (kun op).
> > >
> > MSSQL arbejder ganske fint med images/dokumenter osv
> > Har ikke oplevet problemer i den retning
> > Men det er da klart at den skal arbejde lidt mere for føden
>
> Spild af god server (og transaction log).
Hej Lauritz
Du bør ikke afvise det at ligge billeder i SQL serveren så kategorisk:
- Hvad med synkronisering og transaktionsstyring ?
- Hvis din database crasher og skal restores hvordan får du så genoprettet
det rigtige billede af de filer du havde til at ligge på dine frontends ?
- Hvad hvis den ene frontend er nede i 5 minutter og der i mellemtiden er
blevet oprettet 500 billeder og slettet 300 andre ?
- Hvad med at installere en helt ny frontend ?
- Hvordan tager du backup af dine billeder ?
- Hvordan vil du lave begrænset adgang til visse billeder baseret på et
brugersystem du har i databasen ? (security through obscurity ?)
Ved at ligge billederne i SQL Server får du alle de ting forærende:
- clustering og failover
- transaktioner og synkronisering
- backuprutine er på plads
- mulighed for fuld kontrol over adgang til enkelte billeder
Alt i alt kommer det an på hvor vigtige dine billeder er for dig, hvis
ændringer i billederne er ensartede og du mener at have styr på at replikere
dem rundt på dine frontends, og det ikke er den store kartastrofe hvis der
mangler et enkelt billede eller der er et det ikke bliver slettet, så
repliker dem rundt på dine frontends.
Hvis du vil være 100% sikker på ensartethed og dataintegritet, eller har
brug for fuld kontrol over adgangen til dine billeder så er det en god idé
at kaste dem i din SQL Server.
I min erfaring kan man hurtigt komme til at bruge mange ressourcer på
udviklere og driftsproblemer pga. replikeringsfejl, for slet ikke at snakke
om hvad brugeren synes om at der mangler billeder på ens website.
Når man ser det i lyset af at det du i realiteten forsøger at gøre er at
simulere en database, med ensartet backup, den samme kopi af billederne
tilgængeligt på alle frontends kan det give god mening at investere lidt
ekstra i SQL serveren. Det kan nemt sparer både tid og penge og gøre din
løsning mere robust, for slet ikke at snakke om at spare dine udviklere og
driftsfolk for dybest set meningsløst arbejde. Den ekstra tid kunne fx
bruges på at optimere databasen og data access laget.
Det kommer alt sammen an på opgaven og pengepungen.
MVH
Allan Ebdrup, 10-4 ApS
www.ti-fire.dk