Memóriaalapú adatbázis az Oracle-nél
A héten zajló OpenWorld konferencián a vállalat vezetője, Larry Ellison bejelentette az Oracle adatbázishoz elérhető in-memory opciót, amely állítása szerint a tranzakciófeldolgozás sebességét duplázza, a lekérdezések futásának idejét pedig századrészére csökkenti. Bemutatkozott az első SPARC M6-alapú szerver és érkezett egy backup appliance is, Oracle adatbázisokhoz.
A nagy memóriakapacitású rendszerek terjedésével párhuzamosan került előtérbe az iparágban a memóriaalapú adatbázis-feldolgozás. Az elgondolás lényege, hogy a memória lényegesen gyorsabb mint bármelyik háttértár, így az itt futó adatbázis is sokkal gyorsabb. A memóriaárak meredek csökkenése ma már szélesebb körben teszi megfizethetővé ezt a technológiát mint korábban, így nem csak a pénz nem számít kategóriás alkalmazások élhetnek a lehetőségeivel.
Oszlop és sor
Az in-memory megközelítés távolról sem új, ezt alkalmazza például az SAP-féle HANA és az IBM SolidDB is. Az Oracle rendszere abban a tekintetben egyedi és újszerű, hogy az adatbázist kétszer is tárolja. Az egyik a tranzakciófeldolgozás szempontjából előnyösebb soralapú formátum, amit a relációs adatbázisok esetében hagyományosan használnak, a másik pedig a lekérdezések gyors futtatását lehetővé tevő oszlopalapú formátum - ez jobban illeszkedik az elemzésekhez, ahol sokszor kell oszlopokban, vagy egynemű adatokkal matematikai vagy algoritmikus műveleteket végezni, mint például az összesítés, átlagolás, sorba rendezés, szűrés. Az Oracle 12c adatbázis in-memory opciója a két példányt párhuzamosan kezeli, biztosítva a tranzakcionális integritást.
Ez ugyan többletkapacitást igényel, hiszen az adatok két példányban is megvannak, azonban a diszk- és memóriakapacitás mára elég olcsó, a módszer előnye pedig Ellison szerint, hogy az oszlopalapú adatbázison villámgyorsan lehet lekérdezéseket futtatni, a soralapú adatbázis pedig továbbra is biztosítja a magas tranzakciókezelési sebességet. Az Oracle a tranzakciókat nem logolja kétszer, csak egyszer, a hagyományos soralapú adatbázis logjait nem ismétli meg az oszlopalapú adatbázison feleslegesen, így a két formátumban történő tárolás nem jár kétszer annyi munkával, mondta az Oracle-vezér.
Az oszlopalapú adatbázis pedig szükségtelenné teszi a gyors lekérdezésfuttatás szempontjából fontos indexek létrehozását és rendszeres frissítését is. Egy soralapú adatbázisban egy új record felvétele vagy egy meglevő módosítása akár tucat index frissítését is szükségessé teheti, ami időigényes, magyarázta az Oracle vezetője. Az oszlopalapú adatbázist viszont egy modern processzor, például egy modern Xeon már annyira gyorsan (magonként 1 milliárd rekord/másodperces sebességgel) tudja a memóriából felolvasni, hogy nincs szükség analitikai indexekre, így a tranzakciók végrehajtásakor az indexek frissítése el is hagyható. Ennek köszönhető, magyarázta Ellison, hogy az in-memory opcióval működő adatbázis tranzakciókezelés alatt is gyorsabb. Ráadásul az oszlopalapú tárolás lehetővé teszi minden lekérdezés egyforma gyors futtatását, nem csak azokban az adatokban lehet gyorsan keresni, amelyekhez rendelkezésre állnak a megfelelő indexek.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
Az Oracle Database In-Memory egy Oracle 12c Enterprise-hoz megvásárolható opció, nem egy önálló termék. Ez az Oracle elsődleges fegyvere arra, hogy a hatalmas installált bázisa ne kezdjen SAP HANA-ra migrálni: az in-memory opció használatához nincs szükség architektúraváltásra, az alkalmazások átírására, a meglevő adatbázis módosítására vagy adatok migrációjára egy másik adatbázisba. Az In-Memory opcióval rendelkező adatbázis továbbra is egy "hagyományos" Oracle Database 12c, az in-memory feldolgozás bevezetése nem követel meg az alkalmazások oldaláról módosításokat, a többi adatbázis-opcióval is együttműködik, kiépíthető belőle Real Applications Cluster konfiguráció, stb.
Az első SPARC M6-alapú szerver
Ahhoz, hogy az in-memory technológia ki tudja futni magát, szükség van megfelelően nagy memóriakapacitású gépekre. Az Oracle rögtön be is mutatott egyet, amelynek különlegessége, hogy a nemrégiben a Hot Chips konferencián részletezett SPARC M6 processzorra épül. Az augusztus végén tartott esemény kapcsán azt írtuk, a vadonatúj, tavasszal bejelentett SPARC M5 után az Oracle aligha fog sietni az M6 piacra dobásával, de tévedtünk, az OpenWorldön már meg is érkezett az M6, illetve az arra épülő első szerver, az M6-32, a Big Memory Machine.
Ahogy az M6-ról írt cikkünkben is írtuk, a processzor foglalatkompatibilis az elődjével, így az M5-alapú gépekben elég egy processzorcsere a váltáshoz az M6 akár M5 chipekkel vegyesen is használható. Az M6 az elődjénél kétszer több, 12 magot tartalmaz, és összesen 96 párhuzamos utasításszál futtatására képes, foglalatonként 1 terabájt memóriát kezel, vagyis a SPARC M6-32 rendszer 32 terabájtos operatív tárral rendelkezhet legfeljebb. A számok kedvelőinek néhány további adat: másodpercenként 3 terabájtos belső összesített sávszélesség, 1,4 terabájtos összesített memória-sávszélesség és 1 terabájtos I/O sávszélesség szerepel a specifikációk között.
A közvetlen előd, az M5 egyébként ugyanennyi, foglalatonként 1 terabájt memóriát támogat, az arra épülő M5-32 szerver szintén 32 terabájt memóriát képes kezelni 32 gigabájtos modulokkal feltöltve, így in-memory adatbázis futtatására ugyanúgy alkalmas. Az M6-32 szerverről közzétett adatok szerint a chipek 3,6 GHz-es órajelen működnek, ezen a téren sincs tehát változás az M5-höz képest.
Az M6-32 nem váltja le az M5-alapú elődjét az Oracle kínálatában, a két rendszer párhuzamosan kapható. Egy hétfői előadáson Gary Combs, az Oracle vezető termékmenedzsere a HWSW kérdésére elmondta, várakozásaik szerint lesznek olyan ügyfelek, amelyek az M5-öt, mások pedig az M6-ot részesítik előnyben. Az M5 esetében kevesebb mag osztozik a 48 megabájtos L3 cache-en, így a magonkénti teljesítmény magasabb lehet, az M6 viszont kétszer annyi maggal rendelkezik, ami nagyobb léptékű konszolidációs projektek esetén kedvezőbb választássá teheti. Az M6-32 megvásárolható önálló szerverként (a máris megrendelhető vas ára mintegy 3 millió dollár), illetve SPARC SuperCluster konfigurációban is.
Database Backup, Logging and Recovery Appliance
A vasárnap keynote utolsó újdonsága egy kimondottan mentésre szánt appliance, vagyis előre integrált rendszer bemutatása volt. A bonyolult nevű Database Backup, Logging and Recovery Appliance Oracle adatbázisok mentésére szolgál. Ellison szerint számos backup appliance van jelenleg is a piacon, azonban ezek fájlokat mentenek és nem adatbázisokat, az Oracle gépe ezzel szemben az adatbázisokat menti. A Database Backup, Logging and Recovery Appliance az adatbázis legfrissebb módosításait képes log shipping révén átvenni, így a legutolsó állapotra hozható vissza a segítségével az éles rendszer.
Az adatbázisokat mentő rendszer nem csak on premise appliance-ként vehető meg, hanem szolgálatásként is, az Oracle publiklus cloudjából a log shipping kevés sávszélességet igényel. Ellison szerint a cloudszolgáltatás használható akár egy adatbázis elsődleges mentésére, akár egy meglevő appliance mögött második védvonalként, ahogy az ügyfél azt jónak látja. A HWSW úgy tudja, a rendszer Oracle 10g R2 vagy annál újabb adatbázisokkal kompatibilis.