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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Kan databaser klare sig selv?
Fra : Martin Christiansen


Dato : 28-09-06 21:33

Hej, alle.

Mit firma laver industrielle applikationer (til PC, Windows), som bl.a. skal
leve om bord på skibe.

Nu overvejer jeg i en sådan applikation at indføre en relationsdatabase
(Microsoft SQL Express ell. lign.) som et cenralt element.

Da jeg ikke har nogen nævneværdig praktisk databaseerfaring vil jeg gerne
vide, om en sådan database kan forventes helt at klare sig selv - altså uden
separat vedligehold (oprydning, indeksering osv.)?

Dette er vigtigt, da man ikke kan forvente, at der er IT-kyndigt personale
om bord på disse skibe, og applikationen skulle helst ikke kræve regelmæssig
service fra vores side.

Der er tale om en .NET applikation.

-Martin





 
 
Jens Gyldenkærne Cla~ (28-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-09-06 22:18

Martin Christiansen skrev:

> Da jeg ikke har nogen nævneværdig praktisk databaseerfaring
> vil jeg gerne vide, om en sådan database kan forventes helt at
> klare sig selv - altså uden separat vedligehold (oprydning,
> indeksering osv.)?

Express-udgaven af MSSQL kan ikke køre vedligeholdelsesopgaver
alene, da den mangler SQL Server Agent. Betalingsudgaverne har
mulighed for at køre automatiseret backup, konsistenstjek mv.

Man kan dog godt få noget lignende op at køre på Express med en
ekstern scheduler (det kunne fx aktiveres fra din .NET-
applikation).

> Dette er vigtigt, da man ikke kan forvente, at der er
> IT-kyndigt personale om bord på disse skibe, og applikationen
> skulle helst ikke kræve regelmæssig service fra vores side.

Kan applikationen få adgang til at sende mails "hjem"? En
backup/vedligeholdelsesrutine kan godt køre af sig selv, men hvis
der ikke er nogen der holder øje med om den kører - eller får
besked når den holder op med at køre, hjælper det ikke så meget.
Hvis applikationen kan sende en fejlrapport pr. mail eller evt. en
statusrapport med bestemte mellemrum, kan I godt kontrollere det
centralt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Troels Arvin (29-09-2006)
Kommentar
Fra : Troels Arvin


Dato : 29-09-06 10:22

On Thu, 28 Sep 2006 23:17:37 +0200, Jens Gyldenkærne Clausen wrote:
> Express-udgaven af MSSQL kan ikke køre vedligeholdelsesopgaver alene, da
> den mangler SQL Server Agent.

Kan man ikke bare køre de nødvendige opgaver som Scheduled Tasks (eller
hvad det nu er, Windows kalder "cron")?

--
Greetings from Troels Arvin


Jens Gyldenkærne Cla~ (29-09-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-09-06 10:49

Troels Arvin skrev:

> Kan man ikke bare køre de nødvendige opgaver som Scheduled
> Tasks (eller hvad det nu er, Windows kalder "cron")?

Jo, det kan man (har selv sådan en løsning kørende).
Scheduled Tasks + proceduren Expressmaint[1] giver nogenlunde det samme
som de Maintenance Plans man kan lave i betalingsudgaverne - men kun
næsten.

Det er ikke helt så enkelt at administrere, man har fx ikke nogen
enkel adgang til at vælge specifikke baser at køre
vedligeholdelse på, og man skal over i hændelsesloggen for at
tjekke om jobbet er udført korrekt.

Noter:
======
[1] <http://www.sqldbatips.com/showarticle.asp?ID=27>
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen

Martin Christensen (28-09-2006)
Kommentar
Fra : Martin Christensen


Dato : 28-09-06 22:46

"Martin Christiansen" <marcFJERNhr@mail1.stofanet.dk> writes:

> Da jeg ikke har nogen nævneværdig praktisk databaseerfaring vil jeg
> gerne vide, om en sådan database kan forventes helt at klare sig
> selv - altså uden separat vedligehold (oprydning, indeksering osv.)?

Det kommer helt an på applikationen. Noget du skal passe på, er nok at
visse indekser kan drive lidt. Generelt vil du nok være nogenlunde
godt hjulpet, hvis blot indekserne bliver regenererede med
regelmæssige mellemrum (fx månedtligt eller halvårligt afhængigt af
applikationen). Du skal dog være forberedt på, at databasen kan blive
stort set ubrugelig i praksis, mens reindekseringen står på. Jeg ved
ikke, om det vil være et problem.

Martin

Thorkil Olesen (22-10-2006)
Kommentar
Fra : Thorkil Olesen


Dato : 22-10-06 16:49

Martin Christensen <martin.sand.christensen@gmail.com> wrote:

> "Martin Christiansen" <marcFJERNhr@mail1.stofanet.dk> writes:
>
> > Da jeg ikke har nogen nævneværdig praktisk databaseerfaring vil jeg
> > gerne vide, om en sådan database kan forventes helt at klare sig
> > selv - altså uden separat vedligehold (oprydning, indeksering osv.)?
>
> Det kommer helt an på applikationen. Noget du skal passe på, er nok at
> visse indekser kan drive lidt. Generelt vil du nok være nogenlunde
> godt hjulpet, hvis blot indekserne bliver regenererede med
> regelmæssige mellemrum (fx månedtligt eller halvårligt afhængigt af
> applikationen). Du skal dog være forberedt på, at databasen kan blive
> stort set ubrugelig i praksis, mens reindekseringen står på. Jeg ved
> ikke, om det vil være et problem.

Det her kommer helt bag på mig, så jeg tillader mig at spørge dumt: Er
det virkeligt nødvendigt at reindeksere en database?

Jeg kender intet til MSSQL, men jeg havde den naive tro, at ingen
seriøse databaser har brug for reindeksering medmindre noget går helt
galt (læs hardwarefejl). VACUUM og ANALYZE måske, men ikke
reindeksering.

Tager jeg fejl?

--
Thorkil Olesen,
Hanstholm.

Peter Lykkegaard (22-10-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 22-10-06 19:07

Thorkil Olesen wrote:
>
> Det her kommer helt bag på mig, så jeg tillader mig at spørge dumt: Er
> det virkeligt nødvendigt at reindeksere en database?
>
Jeps - hvis data ændrer sig over tid

> Jeg kender intet til MSSQL, men jeg havde den naive tro, at ingen
> seriøse databaser har brug for reindeksering medmindre noget går helt
> galt (læs hardwarefejl).

Lidt info :)
http://www.sql-server-performance.com/rebuilding_indexes.asp

- Peter


--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Thorkil Olesen (22-10-2006)
Kommentar
Fra : Thorkil Olesen


Dato : 22-10-06 20:28

Peter Lykkegaard <plykkegaard@gmail.com> wrote:

> Thorkil Olesen wrote:
> >
> > Det her kommer helt bag på mig, så jeg tillader mig at spørge dumt: Er
> > det virkeligt nødvendigt at reindeksere en database?
> >
> Jeps - hvis data ændrer sig over tid
>
> > Jeg kender intet til MSSQL, men jeg havde den naive tro, at ingen
> > seriøse databaser har brug for reindeksering medmindre noget går helt
> > galt (læs hardwarefejl).
>
> Lidt info :)
> http://www.sql-server-performance.com/rebuilding_indexes.asp

Tak for info!

Det handler åbenbart om, at indekset bliver fragmenteret over tid. Så
blev jeg da så meget klogere på MSSQL, hvis jeg en gang får brug for
det. Det er vi blevet truet med på mit arbejde

--
Thorkil Olesen,
Hanstholm.

Peter Lykkegaard (22-10-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 22-10-06 21:46

Thorkil Olesen wrote:

> Det handler åbenbart om, at indekset bliver fragmenteret over tid. Så
> blev jeg da så meget klogere på MSSQL, hvis jeg en gang får brug for
> det. Det er vi blevet truet med på mit arbejde

Hvad er du da vant til at arbejde med?
Oracle skal også reindexeres efter behov, det endog være nødvendigt droppe
indexes og oprette dem igen

- Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Thorkil Olesen (22-10-2006)
Kommentar
Fra : Thorkil Olesen


Dato : 22-10-06 23:00

Peter Lykkegaard <plykkegaard@gmail.com> wrote:

> Thorkil Olesen wrote:
>
> > Det handler åbenbart om, at indekset bliver fragmenteret over tid. Så
> > blev jeg da så meget klogere på MSSQL, hvis jeg en gang får brug for
> > det. Det er vi blevet truet med på mit arbejde
>
> Hvad er du da vant til at arbejde med?

PostgreSQL, hvor jeg kun kører VACUUM og ANALYZE regelmæssigt.
Provokeret af denne debat har jeg just kigget i manualen, og rent
faktisk anbefaler de også reindeksering i visse situationer. Undskyld
min uvidenhed...

http://www.postgresql.org/docs/8.1/interactive/routine-reindex.html

--
Thorkil Olesen,
Hanstholm.

Peter Lykkegaard (22-10-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 22-10-06 23:34

Thorkil Olesen wrote:
>
> PostgreSQL, hvor jeg kun kører VACUUM og ANALYZE regelmæssigt.
> Provokeret af denne debat har jeg just kigget i manualen, og rent
> faktisk anbefaler de også reindeksering i visse situationer. Undskyld
> min uvidenhed...

Der er sgu ikke noget at undskylde :)

- Peter

--
Hi! I'm a .signature *virus*!
Copy me into your ~/.signature to help me spread!



Troels Arvin (29-09-2006)
Kommentar
Fra : Troels Arvin


Dato : 29-09-06 10:26

On Thu, 28 Sep 2006 22:32:38 +0200, Martin Christiansen wrote:
> Da jeg ikke har nogen nævneværdig praktisk databaseerfaring vil jeg
> gerne vide, om en sådan database kan forventes helt at klare sig selv -
> altså uden separat vedligehold (oprydning, indeksering osv.)?

Har I virkelig ikke mulighed for at få kørt regelmæssigt afviklede
jobs, fx. via Scheduled Tasks (eller hvad det nu er, at Windows kalder
"cron")?

--
Greetings from Troels Arvin


Peter Lykkegaard (29-09-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 29-09-06 12:10


Troels Arvin wrote:

> Har I virkelig ikke mulighed for at få kørt regelmæssigt afviklede
> jobs, fx. via Scheduled Tasks (eller hvad det nu er, at Windows kalder
> "cron")?
>
Jow det kan snildt lade sig gøre
Det kræver blot at der er nogen der ved hvordan man "manuelt" skriver
de nødvendige SQL statements til vedligehold
BOL er et herligt kompendie hvis man vil kaste sig over opgaven :)

- Peter


Troels Arvin (29-09-2006)
Kommentar
Fra : Troels Arvin


Dato : 29-09-06 19:27

On Fri, 29 Sep 2006 04:09:55 -0700, Peter Lykkegaard wrote:
>> Har I virkelig ikke mulighed for at få kørt regelmæssigt afviklede
>> jobs, fx. via Scheduled Tasks (eller hvad det nu er, at Windows kalder
>> "cron")?
>>
> Jow det kan snildt lade sig gøre

OK, men så er der jo et hav af muligheder. Det kræver jo bare, at der
på en eller anden måde jævnligt tages hånd om følgende, hvis det ikke sker
af sig selv:

- opdatering af statistikker, så DBMSes planner
har en chance for at skabe effektive query-planer

- oprydning; dette kan på sin vis sidestilles
med defragmentering

- evt. transaktions-log håndtering; er meget
vigtigt med MSSQL, afhængig af, hvorledes
du konfigurerer den

Hvis jeg var dig, ville jeg kigge på:
- MSSQL Express Edition
- SQLite (et ret interessant produkt til visse
løsninger; komplet uinteressant til andre)
- MySQL (bemærk: er nok ikke gratis til dit brug)
- Oracle's gratis-udgave
- DB2s gratis-udgave
- PostgreSQL (bemærk: er en ret ny spiller på
Windows-platformen)

Hvis/når du bestemmer dig for et givent produkt, kan du prøve at spørge
her igen mht. tips til indstillinger, der i videst muligt omfang lader
DBMSet "hvile i sig selv".

--
Regards,
Troels Arvin <troels@arvin.dk>
http://troels.arvin.dk/


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

Månedens bedste
Årets bedste
Sidste års bedste