H2 | |
---|---|
Typ | Relační DBMS |
Autor | Thomas Mueller |
Vývojář | Thomas Muller |
Zapsáno v | Jáva |
Operační systém | Multiplatformní software |
První vydání | prosince 2005 |
Hardwarová platforma | Java virtuální stroj |
Nejnovější verze | 2.1.212 [1] (9. dubna 2022 ) |
Licence | MPL , EPL |
webová stránka | h2database.com |
H2 je open source multiplatformní DBMS napsaný výhradně v Javě .
Navzdory své malé velikosti (něco málo přes 1 MB) podporuje H2 hned po vybalení následující funkce:
Co ještě nebylo implementováno:
H2 se používá například v projektu Grails jako základní DBMS pro vývoj.
Vývoj H2 začal v květnu 2004, s prvním vydáním 14. prosince 2005. Hlavním vývojářem je Thomas Müller, jeden z vývojářů za Hypersonic SQL ( HSQLDB ). H2 je zkratka pro Hypersonic 2, ale H2 nepoužívá kód HSQLDB a byl přepsán.
Web H2 obsahuje srovnávací srovnání mezi H2 a některými dalšími populárními databázemi (zejména HSQLDB, PostgreSQL a MySQL), které ukazují, že H2 má obecně lepší výkon než tyto databáze. Porovnání s komerčními DBMS (Oracle, DB2, MSSQL) nebylo provedeno z důvodu omezení vyplývajících z licencí na tyto produkty.
Dokumentace k H2 uvádí, že existují problémy s ACID z hlediska spolehlivosti ( trvanlivosti ) [2] , což může vést ke ztrátě dat dokončených transakcí při vypnutí napájení.
Dokumentace uvádí, že systém nepoužívá volání FileDescriptor.sync(), FileChannel.force() a fsync, protože výrazně zpomalují systém: lze s nimi dosáhnout pouze 60 zápisů za sekundu .
Dalším důvodem, proč se fsync nepoužívá, je to, že mnoho disků je dodáváno s povoleným ukládáním do mezipaměti.
Pro zajištění trvanlivosti se v dokumentaci doporučuje používat další příkazy SET WRITE_DELAY a CHECKPOINT SYNC , které jsou dostupné pouze s právy správce.
Aktivní práce na DBMS pokračují, nové verze jsou vydávány téměř každý měsíc.
Je docela pozoruhodné, že navzdory bohaté funkčnosti nejsou při vývoji DBMS použity knihovny třetích stran. Veškerou potřebnou funkcionalitu implementují sami vývojáři, aby usnadnili nasazení aplikace. Ve skutečnosti se celý DBMS vejde do 1 MB souboru a celý archiv včetně příkladů a zdrojového kódu se vejde do 5 MB (pro srovnání: distribuce Oracle 11 DBMS pro Microsoft Windows zabírá 1,7 GB).
DBMS je velmi užitečný při vývoji, protože umožňuje vytvářet sady testovacích dat přímo v paměti, má pokročilé možnosti dotazování, řadu funkcí, které jsou kompatibilní s těžšími databázemi, snadno se konfiguruje a má podrobnou a srozumitelnou dokumentaci. Pro malé programy může být DBMS použit samostatně, protože je snadno integrován do aplikace.
Systémy pro správu databází (DBMS) | |
---|---|
Klient-server | |
Motory | |
Souborový server |