HSQLDB
| HSQLDB (HyperSQL DataBase) | |
| HSQL Database Manager | |
|
|
|
| Első kiadás | 2001 |
| Legfrissebb stabil kiadás | 2.2.7 (2012. január 15.) +/- |
| Legfrissebb fejlesztői kiadás | ismeretlen +/- |
| Programozási nyelv | Java |
| Platform | multi-platform |
| Méret | 7800 KB[forrás?] |
| Állapot | Aktív |
| Kategória | RDBMS |
| Licenc | BSD licenc |
| A HSQLDB (HyperSQL DataBase) weboldala | |
A HSQLDB (Hyper Structured Query Language Database) egy Javaban írt relációs adatbá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 szerver mó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 perzisztencia motorké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.
Tartalomjegyzék |
Adat tárolás [szerkesztés]
A HSQLDB két fő tábla tí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 és left, right JOINok és halmaz mű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.

