A szegényes teljesítményű rendszeren futó adatbázisok és alkalmazások teljesítménye is gyenge lesz. Semmilyen adatbázis-, alkalmazás- vagy SQL hangolás nem javít a teljesítményen, ha a gyengén megvalósított rendszer okozza a problémát. A rendszer az adatbázisok és alkalmazások teljesítményét is érinti, úgy ahogy az adatbázis-teljesítmény az őt használó alkalmazások teljesítményét érinti.
Az adatbázis-kezelő rendszer egy nagyobb, hardver és szoftverelemekből álló környezetben működik. Ezeket az elemeket úgy kell telepíteni, konfigurálni és hatékonyan kezelni, hogy az adatbázis-kezelő rendszer számára megfelelő módon működjenek. Az adatbázis-adminisztrátornak tudnia kell, hogyan hat egymásra az adatbázis-kezelő rendszer, a szerver hardvere, az operációs rendszer, és más szükséges szoftverek. Ezeknek az elemeknek és kapcsolatoknak a hangolása és konfigurálása drámai hatással lehet a rendszer teljesítményére.
A következő kérdések megválaszolása segíti az adatbázis-adminisztrátort abban, hogy biztosítani tudja az adatbázis-alkalmazásokhoz szükséges optimális hardverkörnyezetet:
Megfelelőek a hardver képességei az adatbázis-kezelő rendszer környezet számára? Más szóval az adatbázis-kezelő rendszer szállítója támogatja ezt a hardvert?
Naprakész a számítógép firmware (ROM BIOS)?
Van megfelelő mennyiségű memória a gépben, amely elég az összes telepített szoftverhez?
Megfelelő mennyiségű lemezterület lett lefoglalva és konfigurálva az adatbázis-kezelő rendszerhez?
Milyen típusú a tárolási eszköz? Megfelelő a nagyméretű adatokhoz és a gyors adatbázis-lekérdezésekhez?
Be vannak kötve és megfelelően működnek a hálózati kábelek?
Teljesen kapcsolódtak és működnek a fizikai kapcsolatok?
A hardver kapcsolódik szünetmentes tápegységhez?
Az adatbázis-teljesítmény egyik legszűkebb keresztmetszete az input/output műveletek végrehajtásának fizikai költsége. Az adat a lemezen van, a lemez egy mechanikai eszköz. A géprészeknek mozogniuk kell, hogy a kódolt adatot a forgó lemezről kiolvassuk. Ez a fizikai művelet időt vesz igénybe, ezért minden, ami az input/output művelet idejét csökkenti, növelheti a teljesítményt.
A lemez elérésének optimalizálására használjunk SSD-t (solid state device). Az SSD egy olyan adattároló eszköz, ami félvezetős memóriában őrzi a tárolt adatot, azt hosszú ideig megőrzi, azaz állandó tár. Az SSD-t úgy konfigurálják, mint egy lemezegységet, mint egy merevlemezt. Az adatok olvasása az SSD-ről sokkal gyorsabb, mint a hagyományos merevlemezekről, mert az SSD mozgó alkatrészeket nem tartalmaz. A mozgó alkatrészek hiánya miatt kevésbé sérülékeny, mint a hagyományos merevlemez, csendesebb, nincsenek a mechanikából adódó késleltetések, az adathozzáférés egyenletesen gyors. Nevezik flash memóriának is és ram-drive-nak is.
Ha magas teljesítményszintet követel meg a cégünk, érdemes megfontolni azt, hogy az adatbázis-objektumokat SSD-re helyezzük, fizikai lemezmeghajtó, RAID vagy SAN használata helyett.
Az SSD-nek azonban van egy nagy problémája: a tartóssága. Az SSD eszközök érzékenyek a hirtelen áramkimaradásra, illetve csak korlátozott számban lehet újraírni őket. Emiatt SSD használata esetén különösen fontos az, hogy a megfelelő mentési és helyreállítási tervről gondoskodjunk.
Ha az operációs rendszerben teljesítményproblémát tapasztalunk, minden szoftvernek, amely azon az operációs rendszeren fut, teljesítmény problémája lesz. Az adatbázis-adminisztrátort a következő kérdések megválaszolása segíti abban, hogy az adatbázis-alkalmazásokhoz szükséges optimális operációsrendszer-megvalósítást biztosítsa:
Elegendő mennyiségű memória lett allokálva az operációs rendszer feladatokhoz?
Van elegendő mennyiségű lemezterület allokálva a swap területnek? A legtöbb operációs rendszer képes bizonyos mennyiségű lemezterületet swap területként allokálni. A swap területet akkor használják, ha az operációs rendszer kifut a memóriából.
Hogyan lettek az adatbázis-állományok allokálva az adatbázis megvalósításakor? Az állományrendszerrel való munka néhány operációs rendszer esetén többletmunkát jelent a rendszernek. Ha raw lemezt használunk, az operációs rendszer vagy állományrendszer miatt adódó többletterhelést elkerülhetjük.
Néhány operációs rendszer lehetővé teszi, hogy az operációs rendszer alatt futó feladatok között prioritást határozzon meg. Az adatbázishoz kapcsolódó feladatokhoz van rendelve prioritás? Megfelel a prioritás a különböző feladatokhoz?
Az adatbázis-kezelő rendszer a szolgáltató által kért operációs rendszer verzión van-e telepítve? Van-e olyan hibajavítás az operációs rendszerhez, amely alkalmazható?
Az operációs rendszer konfigurációs paraméterek az adatbázis-kezelő rendszer telepítésekor módosultak-e? Ha igen, történt-e megfelelő tesztelés, amely biztosítja, hogy a paraméterek megfelelően lettek módosítva és nincsenek hatással más folyamatokra, amelyek az adatbázis-szerveren futnak?
Az adatbázis-kezelő rendszer kapcsolatban áll más szoftverkomponensekkel is. Így lehet megvalósítani a szolgáltatás szállítását a végfelhasználóhoz. Ilyen szoftverek például:
tranzakció feldolgozók
hálózati szoftverek
üzenetsorba-állító szoftverek
web kapcsolódási és -fejlesztő szoftverek
programozási nyelvek
Ahhoz, hogy ezek a szoftverek megfelelően kapcsolódjanak az adatbázis-kezelő rendszerhez, konfigurálni kell őket. Általában az adatbázis-adminisztrátor feladata, hogy a konfigurációt elvégezze. Nagyobb cégnél nem biztos, hogy az adatbázis-adminisztrátor végzi a konfigurálást, hanem más képzett szakemberek, akik a szoftverek kezelésére és adminisztrálására specializálódtak.
Egy adatbázis-kezelő rendszer nagyon összetett rendszer, több százezer sor kód szükséges hozzá.
Az adatbázis-kezelő rendszerek szállítói az adatbázis-kezelő rendszerek funkcionalitását különböző részekre osztják. Az adatbázis-adminisztrátornak meg kell ismernie az adatbázis-kezelő rendszer alkotóelemeit és azt, hogy ezek a részek hogyan kapcsolódnak az adatbázis-kezelő rendszer más részeivel.
Az adatbázis-adminisztrátor csak akkor tudja az adatbázis-alkalmazásoknak a megfelelően optimalizált környezetét biztosítani, ha ismeri az adatbázis-kezelő rendszer belső működését. Bármilyen teljesítményprobléma esetén, az adatbázis-adminisztrátornak tudnia kell, hogy az adatbázis-kezelő rendszer mely része okozhatta a teljesítménycsökkenést.