13. januar 2004 - 18:25Der er
15 kommentarer og 3 løsninger
Mest stabile
Jeg arbejder i Borland C++ Builder 5. Jeg er ved at lave et større program der benytter en database. For tiden bruger jeg paradox, hvilket er nogenlunde, problemet er bare at den en gang i mellem melder corrupt index og så må man håbe at man har en backup af databasen.... men det er jo ikke særlig smart i længenden, så vil lige spørge om hvilket database, der er den mest stabile overhovedet?
Stabilitet er ikke problemet med rigtige database-servere.
På arbejde har vi omkring 300 MSSQL databaser kørende i produktion, de sidste 4 år har jeg ikke set datatab pga andet end brugerfejl eller programmør/applikationsfejl. Vi har omkring 150 Oracle instanser kørende (også prod) - datatab der har i samme periode vist også kun sket af samme årsager som MsSQL.
DB2 har vi også haft 1 af - på en mainframe. Jeg mindes ikke der har været tale om datatab der, men jeg har ikke været involveret i driften af DB2.
Mht MSSQL'en i Officepakken. Det er MSDE (SQL Server 2000 Desktop Edition) du har der. Den er lige så stabil som andre sql servere (skal naturligvis patches til nyeste servicepack) men er en speciel 5 bruger udgave. Den kan håndtere ubegrænset antal brugere - men skruer ned for performance når der er mere end 5 samtidige forespørgsler. MSDE'en kan også kun håndtere databaser op til 2 GB (der kan så være lige så mange db'er du har lyst til - næsten...)
Du skal være obs på, når du sætter en SQL Server op, at du får sat Recovery Model til FULL, samt sat en backup til fx dagligt interval. Jeg vil anbefale fuld daglig backup.
Du skal også være obs på, at diskene hvor db'erne ligger ikke løber fuld - det er næsten det eneste der kan smadre dine data!
Programmet jeg laver til et mindre firma, bestående af en computer.... så det er bare hvad der vil være mest stabilt til det formål.... tror nok han har officeXP installeret..... så serveren ligger vel allerede på computeren?
MSDE'en skal man vælge at installere. Den kommer ikke på som default.
Access har problemer med at den korrumperer og fragmenterer og ikke kan håndtere store datamængder. Det er et stykke legetøj til hjemmebrug, og ikke ret meget mere...
MySQL understøtter ikke den fulde SQL syntaks (bl.a. mangler subqueries) og den har åbenbart problemer med almindelige outer joins - der er i hvertfald mange spm på forumet her om dette...
De nyere MySQL versioner har dog endelig fået transaktionsstyring - om transaktionsstyringen er fejlfri ved jeg ikke... Jeg har ingen erfaring med driftsstabilitet her - men tvivler på at den fx håndterer point-in-time recover etc som DB2, Oracle, SyBase, MsSQL etc.
P.t. vil jeg *ikke* anbefale at køre noget i produktion på MySQL - med mindre man benytter den som en datamart til en mindre datamængde for en rapportgenerator (dvs en READONLY database). Der er den til gengæld ok.
Hvis man vil have freeware/open source vil jeg hellere anbefale Interbase (Borlands gamle database) - den har de ting MySQL mangler, dog kender jeg ikke noget til dens stabilitet.
point-in-time recovery: På SQL Server (og DB2/Oracle/Sybase) kan man genskabe en database op til et givent klokkeslet (i Oracle endda til en enkelt transaktion).
Så hvis data ved en fejl slettes, så kan man altså genskabe databasen frem til sekundet før den famøse kommando blev givet... I praksis vil man nok vælge et par minutter - men reelt set tillader recover kommandoen 1/100 eller 1/1000 sekunder...
Men det kræver, naturligvis, at man har backupper liggende - i MsSQL transaktionslog og data-backup, i Oracle Archive-filer + en backup.
trer - Jeg vil give dig ret med hensyn til mySQL. Men hvis det er til en mindre virksomhed med begrænset data (og samtidig belastning), så vil jeg mene at mySQL er ganske udmærket. MSSQL licensen er jo ikke ligefrem billig..
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.