15. december 2005 - 02:49Der er
5 kommentarer og 1 løsning
Splitte en database op flere
Mit spørgsmål er udelukkende teoritisk da databasen ikke eksistere endnu.
Databasen der vil blive benyttet er enten Oracle 9i eller 10g.
Såfremt man har en database der er for stor til at ligge på en harddisk hvilke muligheder har man så? Kan man fordele en samlet database ud på flere maskiner/databaser og fordele tupler imellem dem (se eksempel 1)? Der må gerne henvises til eksempler der benytter clustering.
Eksempel 1:
DB1 - tabel 'antal' tupler : 1-100
--------------------- split af DB1
DB2 - tabel 'antal' tupler : 1-50
DB3 - tabel 'antal' tupler : 51-100
Såfremt du/I kender nogle gode bøger/sites der berøre dette emne så paste/nævn dem venligst :) På forhånd tak
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
DB1 - tabel 'ord' tupler: ord med begyndelsesbogstav fra a - d fx and ...... danse
--------------------- split af DB1
DB2 - tabel 'ord' tupler: ord med begyndelsesbogstav fra a - b fx and ..... bil
DB3 - tabel 'ord' tupler: ord med begyndelsesbogstav fra c - d fx cykel ..... danse
Ville clustret så kunne finde ud af at søge i DB3 og ikke i både db2 og db3 når man forespørger på ord med begyndelsesbogstav c? Eller vil dette kræve noget middleware?
Velkommen i Oracle verdenen. Har du en Oracle database - har du også mulighed for at fordele data over flere diske. Det gøres ved at sprede dine datafiler (der ligger under det enkelte tablespace), over flere diske. Du kan default kun styre at data skal ligge i et bestemt tablespace - databasen finder selv ud af at sprede data over datafilerne. Så den del er nem nok. Du kan så vælge at lave partitionerede tabeller - hvor du kan styre hvor de enkelte dele af tabellen skal ligge(Fordele partitionerne i flere tablespaces) Dvs. at du f.eks. kan ligge a-d data i et tablespace osv. Det styres ved når du opretter databasen.
Clustering foregår ved at du ligger databasen på et cluster og sætter flere instancer foran databasen -> f.eks. 4 maskiner til 1 cluster. Her kan du optimere ved at sørge for brugerne bruger den enkelte instance til det arbejde den er optimeret til. Feks. kan sørge for at memory på instance 1 altid cacher a-d etc.
Du kan så vælge at lave partitionerede tabeller - hvor du kan styre hvor de enkelte dele af tabellen skal ligge(Fordele partitionerne i flere tablespaces) Dvs. at du f.eks. kan ligge a-d data i et tablespace osv. Det styres ved parameter når du opretter TABELLEN. ;-) (havde du nok selv gennemskuet)
Hm - kryptos læg et svar så prøver jeg at fordele point ligeligt såfremt det stadig er muligt. Eller skal man oprette et nyt spørgsmål med reference til det gamle?
Kunne bruge artiklen fra kryptos og pnielsen's korte og præcise gennemgang. Super svar begge to - mange tak :)
Har accepteret pnielsen's svar - kryptos hvis du også vil have point så smid en kommentar - så fixer vi det ved et nyt spørgsmål.
Synes godt om
Ny brugerNybegynder
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.