13. fejezet - 13. fejezet - Rendszerteljesítmény

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.

13.1. A nagyobb környezet

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.

13.1.1. Hardverkonfiguráció

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?

13.1.1.1. Lemezes háttértár és az input/output műveletek

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.

13.1.2. Kapcsolat az operációs rendszerrel

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?

13.1.3. Más szoftvererek

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.

13.1.4. Az adatbázis-kezelő rendszer komponensei

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.