Skaberen | Thomas Mueller ( d ) |
---|---|
Første version | December 2005 |
Sidste version | 1.4.200 (14. oktober 2019) |
Depositum | github.com/h2database/h2database |
Skrevet i | Java |
Operativ system | Multiplatform |
Miljø | Java virtuel maskine |
Type | Database management system |
Licens | Eclipse Public License 1.0 ( d ) og MPL-2.0 ( d ) |
Internet side | www.h2database.com |
H2 er et relationsdatabasesystem , der er skrevet i Java . Det kan integreres i et Java-program eller fungere i klientserver- tilstand . Dens jar- fil er lille: omkring 1 MB.
Det er open source- software distribueret under Mozilla Public License (ændret version) eller Eclipse Public License .
H2 understøtter en delmængde af SQL- standarden . Det tilbyder SQL- og JDBC- programmeringsgrænseflader (API'er) ; dog kan den også bruge PostgreSQL ODBC- driveren og opføre sig som en PostgreSQL-server.
De tabeller kan oprettes i RAM eller på disken . De kan være vedholdende eller midlertidige. De indekser er hash tabeller og træer for tabeller ind i hukommelsen, og træer B for tabeller på disken. Al databehandling er transaktionel . Låsning på bordniveau samt multiversions samtidighed er implementeret. Den 2-fase commit protokol understøttes også, men standard distribuerede API'er transaktionsomkostninger er ikke implementeret. Sikkerhed leveres af: rollebaseret adgangskontrol , SHA-256- hash af adgangskoder, datakryptering med AES eller XTEA . SSL / TLS- forbindelser understøttes i klient-servertilstand såvel som via kommandolinjeapplikationen (konsol).
To fuldtekstsøgningssystemer er inkluderet: en oprindelig implementering og en anden ved hjælp af Apache Lucene .
Databasen beskytter sig mod SQL-injektioner ved brug af udtryk med formelle parametre. Denne funktion kaldes deaktivering af bogstaver (deaktiveringsværdier bogstaveligt ).
Siden version 1.1.111 kan H2-hukommelsesdatabasen køre i Google App Engine .
Er inkluderet:
Udviklingen af H2 begyndte iMaj 2004og blev offentliggjort i december 2005. Forfatteren af motoren er Thomas Mueller. Han udviklede også Hypersonic SQL Java DBMS inden han stoppede dens udvikling, som blev overtaget af HSQLDB Group. Navnet H2 står for Hypersonic 2 ; dog blev H2 skrevet fra bunden og har ingen fælles kode med hypersonisk eller HSQLDB .