H2 | |
---|---|
Type | Relationel DBMS |
Forfatter | Thomas Mueller |
Udvikler | Thomas Muller |
Skrevet i | Java |
Operativ system | Cross-platform software |
Første udgave | december 2005 |
Hardware platform | Java virtuel maskine |
nyeste version | 2.1.212 [1] (9. april 2022 ) |
Licens | MPL , EPL |
Internet side | h2database.com |
H2 er en open source DBMS på tværs af platforme skrevet udelukkende i Java .
På trods af sin lille størrelse (lidt over 1 MB) understøtter H2 følgende funktioner ud af æsken:
Hvad er endnu ikke implementeret:
H2 bruges f.eks. i Grails -projektet som base DBMS for udvikling.
Udviklingen af H2 begyndte i maj 2004, med den første udgivelse den 14. december 2005. Hovedudvikleren er Thomas Müller, en af udviklerne bag Hypersonic SQL ( HSQLDB ). H2 står for Hypersonic 2, dog bruger H2 ikke HSQLDB-kode og er blevet omskrevet.
H2-webstedet indeholder benchmark-sammenligninger mellem H2 og nogle andre populære databaser (især HSQLDB, PostgreSQL og MySQL), som viser, at H2 generelt yder bedre end disse databaser. Sammenligninger med kommercielle DBMS (Oracle, DB2, MSSQL) blev ikke udført på grund af begrænsninger pålagt af licenser for disse produkter.
Dokumentationen for H2 indikerer, at der er problemer med ACID med hensyn til pålidelighed ( holdbarhed ) [2] , hvilket kan føre til datatab af gennemførte transaktioner, når strømmen slukkes. Dokumentationen angiver, at systemet ikke bruger FileDescriptor.sync(), FileChannel.force() og fsync-kaldene, da de bremser systemet betydeligt: kun 60 skrivninger i sekundet
kan opnås ved at bruge dem .
En anden grund til, at fsync ikke bruges, er, at mange drev kommer med skrive-cache aktiveret.
For at sikre holdbarhed foreslår dokumentationen brug af yderligere kommandoer SET WRITE_DELAY og CHECKPOINT SYNC , som kun er tilgængelige med administratorrettigheder.
Aktivt arbejde fortsætter på DBMS, nye versioner udgives næsten hver måned.
Det er ret bemærkelsesværdigt, at der på trods af den rige funktionalitet ikke bruges tredjepartsbiblioteker i udviklingen af DBMS. Al den nødvendige funktionalitet implementeres af udviklerne selv for at lette implementeringen af applikationen. Faktisk passer hele DBMS i en 1 MB fil, og hele arkivet, inklusive eksempler og kildekode, passer i 5 MB (til sammenligning: Oracle 11 DBMS distributionen til Microsoft Windows tager 1,7 GB).
DBMS er meget nyttigt i udviklingen, da det giver dig mulighed for at oprette testdatasæt direkte i hukommelsen, har avancerede forespørgselsmuligheder, talrige funktioner, der er kompatible med tungere databaser, er let at konfigurere og har detaljeret og forståelig dokumentation. Til små programmer kan DBMS bruges alene, da det nemt integreres i applikationen.
Databasestyringssystemer (DBMS) | |
---|---|
Klient-server | |
Motorer | |
Filserver |