Database tuning - Database tuning

Databaset tuning beskriver en gruppe aktiviteter, der bruges til at optimere og homogenisere ydelsen af ​​en database . Det overlapper normalt med forespørgselstemning , men refererer til design af databasefiler, valg af databasesystem (DBMS) -applikation og konfiguration af databasens miljø ( operativsystem , CPU osv.).

Databaset tuning har til formål at maksimere brugen af ​​systemressourcer til at udføre arbejde så effektivt og hurtigt som muligt. De fleste systemer er designet til at styre deres brug af systemressourcer, men der er stadig meget plads til at forbedre deres effektivitet ved at tilpasse deres indstillinger og konfiguration til databasen og DBMS.

I/O -tuning

Hardware- og softwarekonfiguration af diskundersystemer undersøges: RAID -niveauer og -konfiguration, tildeling af blok- og stribestørrelse og konfiguration af diske, controllerkort , lagerskabe og eksterne lagersystemer såsom SAN'er . Transaktionslogfiler og midlertidige mellemrum er store forbrugere af I/O og påvirker ydeevnen for alle brugere af databasen. Det er afgørende at placere dem korrekt.

Ofte sammenføjede tabeller og indekser placeres, så de kan hentes parallelt fra separate diske samtidigt, når de anmodes om fra fillager. Ofte tilgængelige tabeller og indekser placeres på separate diske for at afbalancere I/O og forhindre læsekø.

DBMS -tuning

DBMS -brugere og DBA -eksperter

DBMS -tuning refererer til tuning af DBMS og konfigurationen af ​​hukommelsen og behandlingsressourcerne på computeren, der kører DBMS. Dette gøres typisk ved konfiguration af DBMS, men de involverede ressourcer deles med værtsystemet .

Tuning af DBMS kan indebære indstilling af gendannelsesintervallet (tid, der er nødvendig for at gendanne datatilstanden til et bestemt tidspunkt), tildeling af parallelisme (opdeling af arbejde fra en enkelt forespørgsel til opgaver, der er tildelt forskellige behandlingsressourcer) og netværksprotokoller bruges til at kommunikere med databaseforbrugere.

Der tildeles hukommelse til data, udførelsesplaner , procedurecache og arbejdsområde . Det er meget hurtigere at få adgang til data i hukommelsen end data om lagring, så vedligeholdelse af en betydelig cache med data får aktiviteter til at udføre hurtigere. Det samme hensyn tages til arbejdsområdet. Caching af udførelsesplaner og -procedurer betyder, at de genbruges i stedet for at genkompileres, når det er nødvendigt. Det er vigtigt at tage så meget hukommelse som muligt, samtidig med at der overlades nok til andre processer og operativsystemet til brug uden overdreven opslagning af hukommelse til lagring.

Behandlingsressourcer er undertiden tildelt specifikke aktiviteter for at forbedre samtidigheden . På en server med otte processorer kunne seks reserveres til DBMS for at maksimere tilgængelige behandlingsressourcer til databasen.

Automatisk DB -tuning

Udnytter maskinlæring til at lære at evaluere ydeevne under forskellige arbejdsbyrder.

Vedligeholdelse af database

Databasevedligeholdelse omfatter sikkerhedskopier , opdateringer af kolonnestatistikker og defragmentering af data inde i databasefilerne.

På en stærkt brugt database vokser transaktionsloggen hurtigt. Transaktionslogposter skal fjernes fra loggen for at give plads til fremtidige poster. Hyppige transaktionslog -sikkerhedskopier er mindre, så de afbryder databaseaktivitet i kortere perioder.

DBMS bruger statistiske histogrammer til at finde data i et område mod en tabel eller et indeks. Statistikopdateringer bør planlægges ofte og prøve så meget af de underliggende data som muligt. Nøjagtig og opdateret statistik gør det muligt for forespørgselsmotorer at træffe gode beslutninger om udførelsesplaner samt effektivt lokalisere data.

Defragmentering af tabel- og indeksdata øger effektiviteten ved adgang til data. Mængden af ​​fragmentering afhænger af datatypen, hvordan de ændres over tid og mængden af ​​ledig plads på databasesider til at acceptere indlæg af data uden at oprette yderligere sider.

Referencer