Megjelent a MySQL 5.0
Hétfőn, azaz október 24-én megjelent a MySQL 5.0 kiadása, sok olyan újdonsággal, melyek jelentős lépésnek számítanak a MySQL életében. Bár csak késve tudunk beszámolni az eseményről, de bízom benne, hogy így is érdeklődésre fog számottartani az a rövid áttekintés, melyben az újdonságokat veszem sorra.
A MySQL 5.0 már eddig is elérhető, tesztelhető volt, így hogy a bevezetésemen egy kicsit pontosítsak, a hétfőn megjelent verzió újdonsága, hogy immár a fejlesztők szerint is stabil ágába lépett a MySQL ezen verziója is. Megérte várni erre a verzióra, mely jelentős újdonságaival tudásában (és nem csak egyszerűségében, gyorsaságában) is összehasonlíthatóvá tette a MySQL-t is az olyan nagyobb testvérekkel, mint a PostgreSQL, vagy akár az Oracle.
Az újdonságok közül talán a tárolt eljárásokat, a függvényeket, a nézeteket, a triggereket, a távoli adatbázisokhoz való kapcsolódást és a magas rendelkezésreállást érdemes kiemelni. Vegyük sorra ezeket a lehetőségeket!
A tárolt eljárás (stored procedures) lényege (durván), hogy kis programokat írhatunk, melyeket az adatbázisszerver fog futtatni - az alkalmazáslogikát ezáltal részben, vagy egészben az adatbázisba helyezhetjük át. Ennek több előnye lehet, talán a legfontosabbak, hogy konkrét adatforgalom nélkül, ezáltal gyorsabban és hatékonyabban tudunk műveleket is végezni az adatokon, másrészt pedig lehetővé válik, hogy az adatbázis szakértő/programozó egy jól optimalizált, csak a szükséges adatokat rendelkezésre bocsátó (biztonság) programokat írhasson, amit a kliens oldalon levő programot készítő kompakt módon felhasználhat.
A függvény (functions - a doksit lásd a tárolt eljárásoknál) a tárolt eljárásokhoz nagyon hasonló SQL nyelvi elem, a különbség annyi, hogy vissza is adhat értéket, értékeket. A függvények segítségével egyszerűen készíthetünk magunknak egyszerűbb és komplexebb új függvényeket, melyek aztán segíthetnek munkánk során. Ez főként a lekérdezéseink átláthatóbbá tételét segítik elő.
A nézet (views) egy egyszerű, de nagyon hatékony megoldás. Segítségével virtuális tábla szerű adatbázis objektumokat hozhatunk létre. Ez átláthatóbbá és akár hatékonyabbá is teheti lekérdezéseinket, továbbá lehetőséget kínálhat arra, hogy egyes felhasználóknak csak táblák egy részéhez biztosítsunk hozzáférést.
A trigger (triggers) egyes adatbázis műveletek előtt és után képesek lefuttatni SQL kifejezéseket. Magyarul: egy adott tábla esetén, ha valaki adatot szúr be, kérdez le vagy módosít (bármilyen paranccsal!), mielőtt az SQL parancs lefutna, vagy miután lefutott, opcionálisan, az adott SQL parancsot futtató szándékától függetlenül műveleteket végezhetünk. A triggerek sok célra felhasználhatóak, például lehetőséget adnak összefüggések (integritás) kezelésére, megőrzésére (mikor kitörlünk az egyik táblából egy elemet, akkor az összes többi táblából, ahol hivatkozás van erre az elemre szintén kitörölhetjük a megfelelő sorokat, stb.), adatok módosítására, automatikus kitöltésére stb.
A távoli táblák leképezése (federated tables) valójában nem más, mint egy új adattároló motor (lásd innoDB, MyIsam), ami nem helyből, hanem egy másik adatbázisból olvassa az adatokat. Bár jelenlegi verziójában nem támogatja a gyorsítótárazást (logikájából adódóan), így is nagyon hatékony lehet többgépes környezetben, ahol lehet, hogy az éppen hivatkozni kívánt adatbázisból nem hozható létre helyi másolat, csak egy helyen létezhet.
Végül a magas rendelkezésre állás (MySQL Cluster) lehet az a téma, amiről még érdemes pár szót ejteni. A magas rendelkezésre állás (szokták ötkilences rendelkezésre állásnak is hívni) 99.999%-os rendelkezésre állást jelent, vagyis azt, hogy egy évben összesen maximum 5 percig nem elérhetőek az adatbázisok. Ezt értelemszerűen nem könnyű elérni, hiszen rizikót jelenthet bármilyen hardver probléma, áramkimaradás, szoftver hiba, frissítés ideje, stb. A MySQL 5.0 egy olyan megoldást kínál, mely segítségével két vagy több gépen lesznek tárolva adataink, így az egyik gép meghibásodása és kiesése esetén is a többi tovább tudja kiszolgálni a kéréseket. Ezen felül - az adatokat a memóriában tárolva - nem csak magas rendelkezésre állást, de nagy sebességet is biztosít. Áramkimaradás esetén a lemezre írt műveleti adatok, illetve az időnkénti adatmentések segítségével gyors visszaállást is tud produkálni.
A MySQL 5.0 a fenti funkciókkal sokat lépett előre, bár azt is meg kell említeni, hogy nem mindegyik új funkció kínál teljes funkcionalitást. Az új funkciók mindazonáltal sokszor jól jöhetnek, és a MySQL dinamikus fejlődési sebességének köszönhetően a közeljövőben a hiányzó funkciók is várhatóan beépítésre kerülnek.
Bővebb információkat a MySQL fejlesztői oldala kínálhat, sok dokumentációval, cikkel, letölthető anyaggal.
■ MySQL 5.0
Az újdonságok közül talán a tárolt eljárásokat, a függvényeket, a nézeteket, a triggereket, a távoli adatbázisokhoz való kapcsolódást és a magas rendelkezésreállást érdemes kiemelni. Vegyük sorra ezeket a lehetőségeket!
A tárolt eljárás (stored procedures) lényege (durván), hogy kis programokat írhatunk, melyeket az adatbázisszerver fog futtatni - az alkalmazáslogikát ezáltal részben, vagy egészben az adatbázisba helyezhetjük át. Ennek több előnye lehet, talán a legfontosabbak, hogy konkrét adatforgalom nélkül, ezáltal gyorsabban és hatékonyabban tudunk műveleket is végezni az adatokon, másrészt pedig lehetővé válik, hogy az adatbázis szakértő/programozó egy jól optimalizált, csak a szükséges adatokat rendelkezésre bocsátó (biztonság) programokat írhasson, amit a kliens oldalon levő programot készítő kompakt módon felhasználhat.
A függvény (functions - a doksit lásd a tárolt eljárásoknál) a tárolt eljárásokhoz nagyon hasonló SQL nyelvi elem, a különbség annyi, hogy vissza is adhat értéket, értékeket. A függvények segítségével egyszerűen készíthetünk magunknak egyszerűbb és komplexebb új függvényeket, melyek aztán segíthetnek munkánk során. Ez főként a lekérdezéseink átláthatóbbá tételét segítik elő.
A nézet (views) egy egyszerű, de nagyon hatékony megoldás. Segítségével virtuális tábla szerű adatbázis objektumokat hozhatunk létre. Ez átláthatóbbá és akár hatékonyabbá is teheti lekérdezéseinket, továbbá lehetőséget kínálhat arra, hogy egyes felhasználóknak csak táblák egy részéhez biztosítsunk hozzáférést.
A trigger (triggers) egyes adatbázis műveletek előtt és után képesek lefuttatni SQL kifejezéseket. Magyarul: egy adott tábla esetén, ha valaki adatot szúr be, kérdez le vagy módosít (bármilyen paranccsal!), mielőtt az SQL parancs lefutna, vagy miután lefutott, opcionálisan, az adott SQL parancsot futtató szándékától függetlenül műveleteket végezhetünk. A triggerek sok célra felhasználhatóak, például lehetőséget adnak összefüggések (integritás) kezelésére, megőrzésére (mikor kitörlünk az egyik táblából egy elemet, akkor az összes többi táblából, ahol hivatkozás van erre az elemre szintén kitörölhetjük a megfelelő sorokat, stb.), adatok módosítására, automatikus kitöltésére stb.
A távoli táblák leképezése (federated tables) valójában nem más, mint egy új adattároló motor (lásd innoDB, MyIsam), ami nem helyből, hanem egy másik adatbázisból olvassa az adatokat. Bár jelenlegi verziójában nem támogatja a gyorsítótárazást (logikájából adódóan), így is nagyon hatékony lehet többgépes környezetben, ahol lehet, hogy az éppen hivatkozni kívánt adatbázisból nem hozható létre helyi másolat, csak egy helyen létezhet.
Végül a magas rendelkezésre állás (MySQL Cluster) lehet az a téma, amiről még érdemes pár szót ejteni. A magas rendelkezésre állás (szokták ötkilences rendelkezésre állásnak is hívni) 99.999%-os rendelkezésre állást jelent, vagyis azt, hogy egy évben összesen maximum 5 percig nem elérhetőek az adatbázisok. Ezt értelemszerűen nem könnyű elérni, hiszen rizikót jelenthet bármilyen hardver probléma, áramkimaradás, szoftver hiba, frissítés ideje, stb. A MySQL 5.0 egy olyan megoldást kínál, mely segítségével két vagy több gépen lesznek tárolva adataink, így az egyik gép meghibásodása és kiesése esetén is a többi tovább tudja kiszolgálni a kéréseket. Ezen felül - az adatokat a memóriában tárolva - nem csak magas rendelkezésre állást, de nagy sebességet is biztosít. Áramkimaradás esetén a lemezre írt műveleti adatok, illetve az időnkénti adatmentések segítségével gyors visszaállást is tud produkálni.
A MySQL 5.0 a fenti funkciókkal sokat lépett előre, bár azt is meg kell említeni, hogy nem mindegyik új funkció kínál teljes funkcionalitást. Az új funkciók mindazonáltal sokszor jól jöhetnek, és a MySQL dinamikus fejlődési sebességének köszönhetően a közeljövőben a hiányzó funkciók is várhatóan beépítésre kerülnek.
Bővebb információkat a MySQL fejlesztői oldala kínálhat, sok dokumentációval, cikkel, letölthető anyaggal.
Kár, hogy sokára lesz még :(
Dúalon
http://e-arc.hu/
Migráció
-boogie-
Szavazás...
MySQL 5.0 a Weblabor mögött is
-boogie-
Gixx-bácsi
Amúgy gyanítom, hogy jóideig nem fogom kihasználni az új lehetőségeket...
Hát azért van hova fejlődni...
Mindazonáltal dicséretes, hogy a MySQL fejlesztői belevágtak ebbe a nagy fába. Egyszer talán a MySQL komoly opensource ellenfele lesz a MS SQL-nek. De jóis lenne...
liszensz
Reho
Rossz a megközelítés
A MySQL licence megengedi, hogy webes környezetben szolgáltatáshoz díjmentesen vegyed igénybe, ahogy korábban is tette.
-boogie-
mysql liszensz
Hiba Hiba Hiba
Volt aki már látott olyat akinek sikerült ;)
Felhő
és nem itt