Op donderdag 28 februari 2002 19:09 schreef vso het volgende:
wat maakt eigenlijk nu een database zwaar of "licht" afgezien van de configuratie: dus welke acties zorgen dat de hardware het moeilijk krijgt ?
Hmmm... wat maakt een database zwaar?
dit zijn er oa een paar:
-query optimalisatie. Als een query geoptimaliseerd word de response tijd een stuk lager als je die query vaker uitvoert. Maar een query optimalisatie is zeker niet gratis.
-concurrency control om dit correct te doen kost nogal wat tijd.
-transacties/recovery mechanisme
-"korte" progamma regels (dus niet 13 regels waar het in 1 regel kan)
Hmmm.. ben ik niet met je eens. Duidelijkheid in code staat in 99% van de gevallen helemaal voorop. En duidelijk en effecient algoritme ontwerp leidt meestal tot veel snellere programma`s dan zoveel mogelijk in een paar regels te stoppen (de famous 10 liners). Mijn sourcecode is zeker niet klein, bevat veel extra`s check (pre en postcondities) die ik in mijn c tijdperk als walgelijk zou hebben bestempeld.
Uiteindelijk zal het programma onderhouden moeten worden en door iemand zijn spaghetti kruipen is een ware nachtmerie.. (we hebben hier nog een oud c/delphi systeem staan die stampvol zit met klassieke fouten, oa:
-geen documentatie
-magic numbers
-procedures die meer doen dan wat ze zeggen
-fantasische define`s(die verderop anders staan gedefinieerd)
En wat dacht je wat je voor een programmeur per uur kwijt bent? Ala bedrijf zijnde ben een stuk goedkoper uit om een zwaardere pc neer te zetten dan spaghettic code te beheren.
Er is dus niet zo belangrijk als goeie source code. Dus bespaar zeker niet op een regeltje meer of een variable declaratie extra (what the heck.. ik hergebruik niet eens variablen).
ps: de uiteindelijke machine zal wel dual proc worden + 1gb
+ raid + tapstreamer (in of extern)
Ik denk dat een 300 Mhz bak met 256 mb meeeer dan genoeg is om een webserver/database server en php op te draaien. Als je tig honderden mensen in je bedrijf hebt dan heb je misschien een snellere server nodig, maar hoeveel request`s moet je per seconde afhandelen? Ik gok dat er met 5 mensen in het bedrijf niet meer dan 50 per seconde worden als ze heel snel kunnen klikken
Als je het echt veilig wilt doen dan zitten de kosten meer in de scsi schijven/ raid controller / ups misschien een server mobo en ecc geheugen. Dat ding moet zo stabiel zijn als een huis en het zal mij een worst zijn als mijn pc zo nu en dan vast loopt (gebeurt misschien 1 keer per maand). Maar voor een bedrijf is dit uitgesloten. Ik heb net een oude sparc station mee gekregen die 25.000 heeft gekost en die vroeger alleen werd gebruikt om een website op te draaien een een database.
tja denk direct of via een custum-made interface
custom made denk ik aan:
Klein advies. Laat iemand die geen verstand heeft van databases
niet bij een database komen. De database is een stuctuur waar je op een veilige manier gegevens in kan beheren maar is volledig ongeschik om voor een eindgebruiker nuttig te zijn. Laat staan veilig omdat ze alles in de vernieling kunnen helpen.
vb:
Stel je hebt een tabel landen, en een van deze landen is nerderland. Dan heb je nog een tabel inwoners en daar staan oa 15.000.000 mensen naar dat nederland record te verwijzen. Als je nu nederland gaat verwijderen met een cascade delete dan worden ook al die 15.000.000 nederlands weg gehaald en denk niet dat dat de bedoeling was
Een programmeur die een klant rechtstreeks bij de database laat komen zonder dat daar uitdrukkelijk om is gevraagd daarbij moet zijn licentie worden afgepakt en mag nooit een computer meer aanraken

thx dacht ik ook al. MS access had ik gelezen en vernomen dat je 3/4? concurrent connecties kon hebben.
De laatste keer dat ik heb het gemeten is rond de 30 connecties en daarna gaat ie op zijn gat.. (was met access 97/win nt). Je moet ook weten dat de eind gebruiker niet zelf een connectie gaat krijgen naar de database, maar dat dit gebeurd aan de server kant. Het kan zijn dat daar maar 1 connectie open staat (van de server naar de db).(doe ik ook vaak met 3 tier applicatie client->server->database). Je hoeft dan niet bang te zijn voor het aantal connecties.
das te weinig zeker als je in de toekomst verder wilt gaan.
Je hebt genoeg tools die de metadata uit je database kan trekken (heb er zelf oa een geschreven voor gegevens modelering voor een expertsysteem), de database structuur in een andere database weer kunnen opbouwen en alle gegevens over kunnen pompen. En zo lang je maar geen database specifieke dingen gaat doen moet dit geen problemen opleveren.
advies:
zorg ervoor dat je eerst in deze materie gaat verdiepen. Ik programmeer nu al 7 jaar en de afgelopen 2 jaar werk ik full time voor de Rijks Universteit Groningen (studie is er beetje bij komen hangen). Ik begin nu pas het grote overzicht te krijgen, verkijk je er niet op. Een applicatie die wat leuks op het scherm kan toveren heb je in een paar dagen gemaakt, maar dat is echt niet iets dat je serieus in het bedrijfsleven kan gebruiken. En het advies dat iedereen je geeft is: ga eerst leren voordat je begint hieraan.