Avatar billede nzc Nybegynder
20. november 2002 - 20:50 Der er 37 kommentarer og
1 løsning

Hvilken database skal jeg vælge??

Hej!

Jeg skal udvikle et system til en mindre virksomhed. Der skal være mulighed for at omkring 30-50 clienter kan kommunikere med databasen samtidig. I databasen skal der være op til 250.000 records. Hvilken database skal jeg vælge til systemet ?

I forvejen har virksomheden en access-database med records som de gerne vil fører videre over i den nye. Kan dette gøres let og hvordan?

På forhånd tak!

NZC
Avatar billede pelkjaer Nybegynder
20. november 2002 - 20:57 #1
Du kan i og for sig sagtens køre videre med din access db, bare husk at lukke dine forbindelser så snart du er færdige med dem, så er der ingen problemer. Slet ikke med så lidt trafik du nævner.

Et andet alternativ er MS SQL (som dog koster nogle penge), eller MySql.
Personligt ville jeg fortrække MS SQL, men er der allerede en access db og trafikken ikke er væsentligt større end det du nævner, ville jeg nok fortsætte med access.
Avatar billede stigc Nybegynder
20. november 2002 - 21:06 #2
Hvis der sider 30-40 samtidige klienter og pumper på databasen via kompliseret joins mm., så vil Access helt sikkert gå i knæ... Det nemmeste vil være at konveretere til MS SQL, da den supporterer den samme variationer af SQL sporget. I hvert tilfælde skal der minimale rettelser til.

Du kan ikke regne med at skifte til mySql, uden at skulle skrive en række SQL sætninger om.
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:13 #4
Det med at access går i knæ pga. så lidt trafik er i bund og grund pga. dårlig kode.
Avatar billede stigc Nybegynder
20. november 2002 - 21:17 #5
Det kommer jo selvfølgelig også an på appliktionen. Få SQL'er med et "flat" indhold, så er der nok ingen problemer. Men er det sådan, at der udføres 5-10 SQL'er, for hver side/form i applikationen, og der ofte joines på store tabeller, så vil ACCESS nok ikke klare den mere.
Avatar billede nzc Nybegynder
20. november 2002 - 21:18 #6
jeg har bare hørt at access går ned når blot 10 brugere kommunikere med databasen samtidig :/

Det skal være sådan at clienterne ikke kan mærke at der er andre der belaster databasen. Kan det stadig lade sig gøre med 50 brugere på en access-db ?

mange tak for de hurtige svar :)

NZC
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:18 #7
Det er muligt. men kig evt. her http://www.coveryourasp.com/Snippet.asp?snip=47
Avatar billede stigc Nybegynder
20. november 2002 - 21:21 #8
"10,000 page views" per dag behøver vel heller ikke være mere end 5-7 online brugere.....
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:22 #9
nej det behøver det ikke :) Men det skulle da være underligt hvis ikke...
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:24 #10
Men prøv at kigge på statistikken - pt 48 aktive brugere.
Avatar billede stigc Nybegynder
20. november 2002 - 21:27 #11
Sådan en online tæller tror jeg ikke på. Det timer vel først ud efter 10-20 minutter. Altså 10-20 minutter efter at brugeren har forladt siden.... .)
Avatar billede stigc Nybegynder
20. november 2002 - 21:30 #12
Jeg kender et site med ca. 5000-6000 sidevisninger per dag. Her er onlinetallet typisk ml. 5-10. Det er en "Chart" counter.
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:33 #13
og måske laver han en session.abandon når du forlader siden - sådan kunne vi blive ved :)

Tro hvad I vil - jeg er ligeglad.

Anyway - dette siger vel det hele http://www.coveryourasp.com/Application.asp =oD
Avatar billede stigc Nybegynder
20. november 2002 - 21:37 #14
Helt enig i at man kan komme langt med en Access database og nogen ASP sider. Bruger selv tricket med applications variabler på en side. Men en "seriøs" applkation, hvor brugeren kræver nye og friske data konstant, her kan man ikke bruge sådanne trick.

F.eks hvis en klients påvirkning, øjeblikeklig skal kunne aflæses på alle andre klienter.
Avatar billede pelkjaer Nybegynder
20. november 2002 - 21:42 #15
Det kan vi da sagtens enes om - men spørgeren af dette spørgsmåls krav bør kunne kunne løses af access.
Avatar billede stigc Nybegynder
20. november 2002 - 21:58 #16
Det kan jeg så ikke være enig i, ved mindre du ved mere om klinet programmet end jeg gør.. :)
Avatar billede pelkjaer Nybegynder
20. november 2002 - 22:04 #17
Det gør jeg tilsynladende ikke, jeg forstår slet ikke din sidste kommentar.
Avatar billede asger.jensen Nybegynder
20. november 2002 - 23:02 #18
Ok, det er få facts til at besvare dit spørgsmål. Vi bliver nødt til at vide noget om mere om hvad det er du forsøger at lave. Hvor mange tabeller? Hvor mange data i de 250000 records (billeder, tal m.m.) Hvor mange transaktioner i timen, hvor komplekse er dine transaktioner (E.g. indsætter de bare 1 række i en tabel eller 2-3 rækker i 8 tabeller).  Hvad med backup, hvor vigtigt er det, skal systemet vokse på sigt? (flere brugere, mere data). Vil du kode dig ud af performance problemer ved flere brugere eller vil du bare kode og så lade databasen klare problemerne med mange samtidige brugere? Er der mange updates og selects samtidigt fra forskellige klienter?

Der kunne sikkert stilles mange flere spørgsmål, men fortæl lidt mere, så får du også nogle lidt bedre svar!
Avatar billede nzc Nybegynder
21. november 2002 - 07:42 #19
der er 4 tabeller. i den ene er der 50 rækker og de andre er der ca 20 i. Det er kun tekst der skal være i tuplerne. der vil sikkert være omkring 500 - 1000 transaktioner i timen og de er ikke særlig komplekse (2 funktioner indsætter 20 og 30 rækker i den store tabel, men ikke noget med at sætte ind i flere tabeller på en gang). Backup er MEGET vigtigt! Systemet vil vokse til omkring 150-200 bruger men det er først om et par år (jeg vil egentlig gerne være fremtidssikret :) Jeg vil ikke binde mig til databasen så jeg vil lave noget persistence layer (http://www.ambysoft.com/persistenceLayer.pdf) for at undgå høj kobling. jeg vil gætte på at der nok kan forekomme et par updates og selects fram forkellige klienter, men det ka jo ikke være vildt mange hvis systemet kun har 100 brugere.

Håber det kan hjælpe til bedre svar :)

NZC
Avatar billede terry Ekspert
21. november 2002 - 10:29 #20
at the moment there are 199 users "logged on" to eksperten, at a guess there are max 50 writing to the dB. A connection is opened for a matter of seconds, so evn though all 30 to 50 of your clients were using the application it would only a few who are actually accessing the db. If yoo code correctly closing your connections after use AND use error handling (try again if no connection, or some other error) then Access can EASILY do the job and at a fraction of the price of SQL Server.
Avatar billede kennie_nm Nybegynder
21. november 2002 - 13:24 #21
jeg fatter simpelthen ikke at man kan få lov til at bruge databasen fra en kontorpakke som grundlag for en seriøs applikation nogen steder. Alt andet må gerne fejle, men data må og skal være konsistent og uden fejl.

I et firma jeg arbejdede hos var den centrale database en Accessdatabase med 2gb+ data. Mit råd er: LAD VÆRE med at bruge Access (med mindre du er helt sikker på at det kun er dig selv, der skal bruge systemet), du kommer aldrig af med den igen...
Avatar billede terry Ekspert
21. november 2002 - 13:30 #22
who is talking about 2 Gb + data ? nad just out of interest Access can have a MAX 2 GB. Also, Access is more than likley themost widely used dB in the world, and not just for keeping track of telephone numbers..
Do you want some examples?
Avatar billede terry Ekspert
21. november 2002 - 13:31 #23
Avatar billede terry Ekspert
21. november 2002 - 13:33 #24
http://www.erplite.com/

But as said previously, quite often the problem is the programmer who made it :o)
Avatar billede kennie_nm Nybegynder
21. november 2002 - 14:18 #25
2gb+ var vist husket forkert :) (men vi nærmede os hastigt den grænse...)

tja, mine erfaringer med Access i organisationer er altså bare at det tit sker at Access- databasen "skal repareres" (det skriger f.eks. til himlen at Access har en function ved navn 'repairDatabase') og at folk ikke kan arbejde pga. nedetid/indlæsning fra backup og hvor man ikke har styr på hvilke data, der er gyldige/ugyldige. Og den slags situationer koster knapper!

terry> 'But as said previously, quite often the problem is the programmer who made it'
Som dygtig programmør kan man såmænd få en tekstfil til at være sin database, det er bare lidt sværere. Hele ideen med at bruge en lødig databaseløsning er jo at der er andre der har gjort (noget af) arbjedet for een. Hvis man skal bruge Access, skal man ihvertfald død pine sikre sig at der kun er EEN forbindelse af gangen.

Mht.at vride den bedst mulige performance ud af Access: det er flot! Jeg var også imponeret over hvor meget C64 programmører kunne vride ud af 64'eren. Men det ændrer altså ikke på det faktum at Access er et redskab i kontorpakken og ikke en professionel databaseløsning.
Avatar billede terry Ekspert
21. november 2002 - 14:28 #26
are you aware how much SQL Sever costs? If price isnt a problem then that is great, but in most cases it isnt. Thats why there are alternatives.
Avatar billede nzc Nybegynder
21. november 2002 - 17:26 #27
hey og tak for de mange kommentarer :)

Jeg er glad for at jeg har fået så mange kommentarer omkring access for det viser at der er mange der bruger den og mange der har erfaringer med den. At der så er forskel på meningerne det er noget andet :)

Jeg må indrømme at jeg heller ikke mener at access er noget der bør bruges til kommercielle/professionelle applikationer. Derfor søger jeg en anden database som bliver brugt i mere professionelle applikationer.

Men hvilken skal database skal jeg vælge hvis det ikke skal være access ?

MS SQL er en af de muligheder i nævner. Men hvad gør den bedre end access ?

På forhånd mange tak :)

NZC
Avatar billede kennie_nm Nybegynder
22. november 2002 - 07:53 #28
* stored procedures
* support for flere samtidige brugere (løser concurrency problemer)
* bedre/mere nuanceret låsning af felter, sider og tabeller
* transaktionslog og mulighed for backup fra denne
* konsistens
* stabilitet
* administrationsværktøjer
* ...

Bruger selv Oracle, (men den er endnu dyrere end MS SQL Server)

>terry:
I know that sql server costs appr. 40000,- kr for a license. This is 1-1½ months of salary for a DBadmin or softwaredeveloper. I bet that the investment is paid off multible times in the long run...
Avatar billede kennie_nm Nybegynder
22. november 2002 - 08:33 #29
ved valg af database må du lave en risikovurdering (se evt. Pressmans bog om softwareengineering): hvad ville konsekvensen være af
  tab af data (mister I kunder/goodwill/patienter? (sidstnævnte er ikke godt!)
  forkerte data
  tab af alle data (går virksomheden i stå?)
Avatar billede michaelsoeren Nybegynder
10. december 2002 - 09:21 #30
Hej nzc,

Prædiken
Access bør ikke bruges til forretningskritiske løsninger.

Mit råd
jeg har haft meget gode erfaringer med Interbase/Firebird som er open source og kan køre på Linux/Windows. Jeg har været med til at erstatte en MS Sql database med en Interbase, og opnåede bedre svartider, samt en væsentlig besparelse på licenserne. Data: > 1 mio records/tupler, > 1 Gb data.
Interbase/Firebird fungere med almindelig SQL, og udfra din beskrivelse kan det sagtens være "fremtidssikret".

Forresten
God ide med at lave et persistens lag, husk bare på at det er en relationel db, du bruger og ikke eks. Javaspaces.
Avatar billede nzc Nybegynder
10. december 2002 - 18:29 #31
michaelsorensen svar tak :)
Avatar billede nzc Nybegynder
10. december 2002 - 18:31 #32
forresten nu du er her :)

et persistenslag... kender du et godt sted hvor jeg ka læse lidt mere om det henne ?

jeg kender http://www.ambysoft.com/persistenceLayer.pdf og den fatter jeg ikke en brik af :)

PS jeg læser på 2. sem til datamatiker så jeg er ikke den store javaguru endnu :)

NZC
Avatar billede terry Ekspert
10. december 2002 - 18:51 #33
ncz>How about closing this question now? I'm sure you have enough information to make a decision!
Avatar billede nzc Nybegynder
10. december 2002 - 22:26 #34
terry i need michaelsorensen's answer then I'm going to close :)
Avatar billede nzc Nybegynder
02. februar 2003 - 21:15 #35
oh well... as michaelsorensen never answered... i will
Avatar billede terry Ekspert
02. februar 2003 - 21:30 #36
nzc>Your question was "Hvilken database skal jeg vælge??". HOW d you decide what the correct answer is and how do you decide to share out the points? Well one thing we can be sure of is you can NOT expect help in the future when we use our time in trying to help you and in the end you take the points yourself :o(
Avatar billede nzc Nybegynder
02. februar 2003 - 21:35 #37
ehrrrm.... why are u whining terry... i wanted to give the points to michaelsorensen but he never answered...

dont whine just cuz u didnt get the points... I told u "terry i need michaelsorensen's answer then I'm going to close :)"
Avatar billede terry Ekspert
02. februar 2003 - 21:45 #38
nzc>there are a nember of people who contributed to this question besides me so I am NOT "whining" on my behalf but for others whoo have used their time on you. It would have been in place to reward all users in a question like this where in fact there is NO hard cut answer.
As a said previously "one thing we can be sure of is you can NOT expect help in the future" thats it and thats that :o)
GOOD NIGHT!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester