Databasinställning
Databasjustering beskriver en grupp aktiviteter som används för att optimera och homogenisera en databas prestanda . Det överlappar vanligtvis med frågejustering , men hänvisar till design av databasfiler, val av applikation för databashanteringssystem (DBMS) och konfiguration av databasens miljö ( operativsystem , CPU , etc.).
Databasjustering syftar till att maximera användningen av systemresurser för att utföra arbete så effektivt och snabbt som möjligt. De flesta system är utformade för att hantera deras användning av systemresurser, men det finns fortfarande mycket utrymme att förbättra deras effektivitet genom att anpassa deras inställningar och konfiguration för databasen och DBMS.
I/O-inställning
Hårdvaru- och mjukvarukonfiguration av diskundersystem undersöks: RAID- nivåer och -konfiguration, block- och stripestorleksallokering och konfigurationen av diskar, styrkort , lagringsskåp och externa lagringssystem som SAN . Transaktionsloggar och tillfälliga utrymmen är storkonsumenter av I/O och påverkar prestanda för alla användare av databasen. Att placera dem på rätt sätt är avgörande.
Ofta sammanfogade tabeller och index placeras så att när de begärs från fillagring kan de hämtas parallellt från separata diskar samtidigt. Ofta åtkomliga tabeller och index placeras på separata diskar för att balansera I/O och förhindra läsköer.
DBMS-inställning
DBMS-användare och DBA-experter
DBMS-inställning avser inställning av DBMS och konfigurationen av minnet och bearbetningsresurserna på datorn som kör DBMS. Detta görs vanligtvis genom att konfigurera DBMS, men de inblandade resurserna delas med värdsystemet .
Justering av DBMS kan innebära att ställa in återställningsintervallet (tid som behövs för att återställa datatillståndet till en viss tidpunkt), tilldelning av parallellitet (uppdelning av arbete från en enda fråga till uppgifter som tilldelats olika bearbetningsresurser) och nätverksprotokoll används för att kommunicera med databaskonsumenter.
Minne tilldelas för data, exekveringsplaner , procedurcache och arbetsutrymme [ förtydliga ] . Det är mycket snabbare att komma åt data i minnet än data på lagring, så att bibehålla en ansenlig cache med data gör att aktiviteter utförs snabbare. Samma hänsyn tas till arbetsytan. Cachning av exekveringsplaner och procedurer innebär att de återanvänds istället för att kompileras om vid behov. Det är viktigt att ta så mycket minne som möjligt, samtidigt som det lämnas tillräckligt för andra processer och operativsystemet att använda utan överdriven sökning av minne till lagring.
Bearbetningsresurser tilldelas ibland specifika aktiviteter för att förbättra samtidigheten . På en server med åtta processorer kan sex reserveras för DBMS för att maximera tillgängliga bearbetningsresurser för databasen.
Automatisk DB-inställning
Använder maskininlärning för att lära sig att utvärdera prestanda under olika arbetsbelastningar.
Databasunderhåll
Databasunderhåll inkluderar säkerhetskopior , kolumnstatistikuppdateringar och defragmentering av data inuti databasfilerna.
På en mycket använd databas växer transaktionsloggen snabbt. Transaktionsloggposter måste tas bort från loggen för att göra plats för framtida poster. Frekventa säkerhetskopior av transaktionsloggar är mindre, så de avbryter databasaktivitet under kortare tidsperioder.
DBMS använder statistiska histogram för att hitta data i ett intervall mot en tabell eller index. Statistikuppdateringar bör schemaläggas ofta och ta ett urval av så mycket av den underliggande informationen som möjligt. Noggrann och uppdaterad statistik gör det möjligt för frågemotorer att fatta bra beslut om genomförandeplaner, samt att effektivt lokalisera data.
Defragmentering av tabell- och indexdata ökar effektiviteten vid åtkomst av data. Mängden fragmentering beror på typen av data, hur den ändras över tiden och mängden ledigt utrymme på databassidor för att acceptera infogning av data utan att skapa ytterligare sidor.