Avatar billede Swift Praktikant
14. november 2005 - 12:08 Der er 3 kommentarer og
1 løsning

InnoDB 'One File per Table' eller ej?

Jeg eksperimenterer med MySQL 5.

Jeg vil gerne vide lidt om fordele, ulemper og evt. problemer når man overvejer om man skal bruge 'One File per Table' eller ej.

Kort forklaring af det setup jeg forestiller mig:
1 stk. MySQL database(masser af ram og raid)
50 stk. InnoDB databaser der sturkturmæssigt er 100% ens
2-3 stk. Web servere(50 sites, et til hver database), der anvender MySQL databaserne

Skal jeg så nu vælge 'One File per Table' eller ej?

Umiddlbart kan jeg se disse pametre der skal overvejes:
'1 stor fil':
- Bliver fragmenteret
- Bliver GIGANTISK (single point of failure)
- Hvordan sletter/frigiver man 5 gamle databaser der ikke længere anvendes?

'Mange små filer':
- Mange filer, mange filehandles
- Mindre fragmentering
- Når en database skal slettes, kan filerne let slettes

Kom med lidt input til mig!
Avatar billede arne_v Ekspert
14. november 2005 - 14:22 #1
Medmindre du har meget specielle behov så vil jeg anbefale et antal normale
table spaces og ikke innodb_file_per_table.

Så lader du databasen administrere pladsen fremfor at du selv gør det. Normalt
vil den gøre et udmærket arbejde.

Docs anbefaler kun innodb_file_per_table til specielle backup formål.

Hvis du skal have lavet en stor reorganisering så er dump & restore altid
effektivt (jeg mener ikke at der er tools til det).
Avatar billede Swift Praktikant
15. november 2005 - 15:44 #2
Jeg tænker blot stadig på "single point of failure"

Hvis man nu har 50 databaser med en samlet størrelse på 25 GB, så er alt blot samlet i en rælle "fælles filer". HVIS så systemet crasher HÅRDT, så database filerne går i ged, så er det _ALT_ der er offline!

Og, hvad nu hvis man i en periode har været meget tæt på at fylde HDD'en op, kan man så "shrinke" databasefilerne igen, så man kan frigive HDD plads?

Er der ikke andre der har erfaringer/meninger??
Avatar billede arne_v Ekspert
15. november 2005 - 15:55 #3
ifølge traditionel database opfattelse så er der kun 2 tilstande for en database:
  garanteret konsistent
  ubrugelig

InnoDB burde være betydeligt mere hårdført end MyISAM p.g.a. log filerne -
ihvertfald i teorien bør recovery rulle alt enten frem eller tilbage - men
jeg er ikke DBA, så jeg skal ikke udtale mig om hvprdan det virker i praksis

Hvis du sætter pris på dine data så:
  replikering mellem 2 servere
  data og log på hver sin disk
  RAID 1 eller RAID 1+0 på diskene
Avatar billede arne_v Ekspert
31. december 2005 - 14:56 #4
OK ?
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