ugrás a tartalomhoz

Fordult a kocka az adatbázis absztrakció terén

Hojtsy Gábor · 2004. Jún. 2. (Sze), 15.10
Nemrég adtunk hírt a PECL új PDO kiterjesztéséről, mely a PHP 5(.1) egységes adatbázis felületévé válik várhatóan. A PDO gyors előretörése hirtelen változásokat idézett elő a PEAR-ben kezelt MDB2 csomag terveit illetően, mely a PEAR leendő hivatalos adatbázis absztrakciós megoldása. Lássuk, mit is jelent ez.

Mint ahogy hírül adtuk, a PDO számos absztrakciós lehetőséget ad, beleértve a tranzakciók kezelését, az előkészített SQL parancsok futtatását, stb. Ez azonban nem fedi le a PEAR DB (jelenleg elterjedten használt adatbázis felület) és a PEAR MDB2 (a PEAR DB helyettesítőjeként fejlesztett új megoldás) funkcionalitását, és nem is áll a fejlesztők szándékában a teljes szolgáltatásválaszték megvalósítása.

Tehát adott egy stabil, de lassan idejétmúlt megoldás a PEAR DB. Adott egy fejlődőben lévő és egyelőre nagyon változékony felület a PEAR MDB2 és még adott egy kialakulóban lévő C alapon fejlesztett PDO felület. Logikus, hogy a változásra képes kódok (ahol a visszafelé kompatibilitást nem kell megtartani), használhatóságban valamennyire egymáshoz tartsanak, és ne teljesen más felületeket definiáljanak.

Nos, úgy tűnik, hogy a PDO fejlesztői vették a stafétabotot a kezükbe, ugyanis meggyőzték Lukas Smith-t, az MDB2 fejlesztőjét, hogy a PDO helyettesítőjeként illetve kiegészítőjeként valósítsa meg az MDB2-t. Ez utóbbi kiegészítés akkor lehetséges, ha a PDO már telepítve van az adott PHP feldolgozóban, tehát csak PHP 5 esetén érdekes. Az előbbi helyettesítő szerep viszont alkalmassá teheti az MDB2-t arra, hogy a PHP 4-est futtató szervereken is használhatóvá tegye a PDO felületét.

Végülis csak idő kérdése, hogy milyen sikert érhet el ezen a vonalon az MDB2, hiszen ha stabil PHP 5-re frissíthet valaki, akkor nem biztos, hogy PHP 4 + MDB2-re írja át az alkalmazását. Ezért minél később készül el ilyen formában az MDB2, annál kevésbé lehet érdekes a helyettesítő szerepe (amibe különben a legtöbb munkát kell fektetni a fejlesztés során).