H2
H2 — открытая кроссплатформенная СУБД, полностью написанная на языке Java. Несмотря на малый размер (чуть более 1 МБ) H2 поддерживает следующие возможности «из коробки»:
Что ещё не реализовано:
Применяется H2, например, в проекте Grails как базовая СУБД для разработки. История созданияРазработка H2 началась в мае 2004 года, первый релиз состоялся 14 декабря 2005 года. Главным разработчиком является Томас Мюллер, один из разработчиков Hypersonic SQL (HSQLDB). Сокращение H2 означает Hypersonic 2, однако H2 не использует код HSQLDB и была написана заново. Почему выбрана платформа Java
Сравнения с существующими СУБДНа сайте H2 расположены результаты сравнения тестов производительности H2 и некоторых других популярных СУБД (в частности, HSQLDB, PostgreSQL и MySQL), в которых указано, что H2 в целом более производительна, чем указанные СУБД. Сравнения с коммерческими СУБД (Oracle, DB2, MSSQL) не проводились ввиду ограничений, наложенных лицензиями на эти продукты. Проблемы надёжностиВ документации по H2 указано на имеющиеся проблемы с ACID в части надёжности (durability)[3], что может привести к потере данных завершённых транзакций при отключении электропитания. Оригинальный текст (англ.) Trying to flush hard drive buffers is hard, and if you do the performance is very bad. First you need to make sure that the hard drive actually flushes all buffers. Tests show that this can not be done in a reliable way. Then the maximum number of transactions is around 60 per second. Because of those reasons, the default behavior of H2 is to delay writing committed transactions. In H2, after a power failure, a bit more than one second of committed transactions may be lost. To change the behavior, use SET WRITE_DELAY and CHECKPOINT SYNC. Most other databases support commit delay as well. In the performance comparison, commit delay was used for all databases that support it. Планируемые нововведения
Новые версииНад СУБД продолжается активная работа, новые версии выпускаются практически каждый месяц. ПримечанияВесьма примечателен факт того, что, несмотря на богатую функциональность, при разработке СУБД не используются сторонние библиотеки. Вся необходимая функциональность реализована разработчиками самостоятельно с целью облегчения развертывания приложения. Фактически вся СУБД умещается в файле размером 1 МБ, а весь архив, включая примеры и исходный код, — в 5 МБ (для сравнения: дистрибутив СУБД Oracle 11 для Microsoft Windows занимает 1,7 ГБ). СУБД весьма полезна в разработке, так как позволяет создавать тестовые наборы данных прямо в памяти, имеет развитые возможности запросов, многочисленные функции, совместимые с более тяжеловесными БД, легко настраивается, имеет подробную и понятную документацию. Для небольших программ СУБД возможно использовать саму по себе, так как она легко встраивается в приложение.
Ссылки
|