HSQLDB
HSQLDB (HyperSQL DataBase) | |
![]() | |
HSQL Database Manager | |
Első kiadás | 2001 |
Programozási nyelv | Java |
Operációs rendszer | platformfüggetlen |
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ó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
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
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
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
- HSQLDB
- HSQLDB a SourceForge.net-en
- Szoftverek, amik HSQLDB-t használnak
- HSQLDB-vel kapcsolatos könyvek (Google Books)
Informatikai portál • összefoglaló, színes tartalomajánló lap