HSQLDB

A Wikipédiából, a szabad enciklopédiából
HSQLDB (HyperSQL DataBase)
HSQL Database Manager
HSQL Database Manager

Első kiadás2001
Programozási nyelvJava
Operációs rendszerplatformfüggetlen
Platformmulti-platform
Méret7800 KB[forrás?]
ÁllapotAktív
KategóriaRDBMS
LicencBSD licenc
A HSQLDB (HyperSQL DataBase) weboldala

A HSQLDB (Hyper Structured Query Language Database) egy Javaban írt relációsadatbázis-kezelő rendszer. Van JDBC meghajtója és elég nagy részhalmazát támogatja az SQL-92 és SQL:2008 szabványoknak. Gyors és kis méretű (a 2.2-es verzió kb. 1300 kilobájt) adatbázis-kezelő, amelyben lehetőség van memóriában illetve lemezen is tárolni a táblákat. Használható beágyazott és szervermódban egyaránt.

Tartalmaz beépített eszközöket, többek között minimális webszervert, konzolos és grafikus beállítófelületeket (amelyek appletként is futtathatóak), és jó néhány bemutatópéldát. Java környezetben 1.1-es verziótól kezdve futtatható.

A HSQLDB BSD licenc alatt érhető el. Használják adatbázisként és perzisztenciamotorként több nyílt forráskódú projektben (OpenOffice.org Base, LibreOffice Base), valamint kereskedelmi szoftverben (Mathematica, InstallAnywhere).

A HSQLDB-t a szoftverfejlesztés során különböző keretrendszerekkel szokták együtt használni, ilyenek például a Spring keretrendszer vagy a Hibernate.

Adattárolás[szerkesztés]

A HSQLDB két fő táblatípust használ a tartósan írható-olvasható adatokhoz (például, ha egy tranzakció sikeresen befejeződött, akkor garantáltan túl fogja élni az adat a bekövetkező rendszerhibát és megőrzi az integritását).

Az alapértelmezett típus a MEMORY. Ez minden adatváltozást a lemezen tárol SQL-szkript formájában. Amikor az adatbázis-kezelő elindul, ezek a parancsok lefutnak és helyreállítják az adatot a memóriában. Habár ez a megoldás nem alkalmas nagyon nagy táblák kezeléséhez, meglepően jó teljesítményt és könnyű hibakezelést biztosít.

A másik fő tábla típus a CACHED, amelyben több gigabájtnyi adatot is tárolhatunk, viszont cserébe kisebb teljesítményt kapunk. A HSQLDB ilyenkor csak részlegesen tölti be az adatot és a tranzakciók végén szinkronizálja azt. Fontos, hogy minden olyan oszlopot betölt a memóriába, amelyre hatással van a művelet, ezért hatalmas frissítések esetén elkerülhetetlen a feladat kisebb részfeladatokra bontása.

Egyéb tábla típusok használnak még írható-olvasható CSV fájlokat (ezek a táblák részt vehetnek például olyan lekérdezésekben, amelyek join-t használnak és egyszerűsíthetik az adatbázis-feldolgozást), és vannak olyanok, amelyek csak rövid időre használnak memóriabeli adattárolást.

SQL jellemzők[szerkesztés]

A HSQLDB 2.0 támogatja az összes alapvető SQL-jellemzőt és további 148 opcionális SQL:2008 jellemzőt. Ezek például felhasználó által definiálható SQL-eljárások és -függvények, sémák, időintervallumok, frissíthető nézetek, tömbök, teljes, left és right joinok és halmazműveletek. Több nem szabványos függvény is támogatott, mint például a TO_CHAR és a DECODE.

Kiadások[szerkesztés]

2001 óta több HSQLDB verzió jelent meg. A korai verziók a - már nem fejlesztett - HypersonicSQL adatbázis-kezelőt vették alapul. A 2.0-s verzió 2010-ben adták ki, ez már többségében új kód, amit a szabványos SQL-hez és a JDBC 4 specifikációjához igazítottak.

További információk[szerkesztés]