Релиз открытой БД HyperSQL 2.0
Вышел релиз БД HyperSQL 2.0 (HSQLDB), написанной полностью на языке Java и распространяемой в рамках лицензии BSD. Прошлая версия HSQLDB 1.8 вышла около 5 лет назад и используется в составе многих открытых и коммерческих продуктов, например, применяется для организации работы с базами данных в OpenOffice.org.Основные новшества HyperSQL 2.0:
- Представлено новое ядро БД и полностью переписана большая часть внутренних компонентов. HSQLDB отныне работает в многопоточном режиме, поддерживает двухфазовые блокировки (2PL), мультиверсионный контроль параллельного выполнения операций (MVCC) и гибридную модель обработки транзакций (2PL+MVCC). При работе с транзакциями теперь поддерживается их сериализация и выполнение коммитов на чтение, также добавлена поддежка изоляции снапшотов и обеспечения гарантированной целостности при выполнении запросов на чтение;
- Проведена работа по увеличению стабильности и производительности, переработан код оптимизатора запросов. Все запросы, в которых используются блоки JOIN и WHERE, OR, MAX(), MIN() и ODER BY, теперь оптимизированы для максимального задействования индексов;
- Реализована поддержка хранимых процедур, для написания которых используются процедурные SQL-операторы, включая WHILE, IF, CASE, WHEN, обработчики исключений и агрегатные функции. Хранимые процедуры также могут быть написаны на язые Java;
- Добавлены новые типы данных и функции, определенные в стандартах SQL:2003-SQL:2008, обеспечена полная совместимость с расширенной редакцией стандарта SQL-1992. Например, теперь можно использовать все стандартные типы JOIN-запросов и определений триггеров (TRIGGER), поддерживаются многострочные операции INSERT и UPDATE (INSERT INTO … VALUES (expr,expr, ..), (exr,expr, …), …), добавлены типы данных BIT, BIT VARYING, CLOB, BLOB и INTERVAL;
- Появилась поддержка BLOB-ов для хранения наборов данных большого размера, размер записи в которых может достигать нескольких гигабайт, а суммарный размер хранимых данных ограничен отметкой в 64 Тб. По умолчанию базовое хранилище может вместить 16 Гб данных (без учета блобов), при этом лимит может быть расширен до 256 Гб;
- Добавлена возможность разграничения прав доступа на уровне столбцов для SELECT, INSERT и UPDATE;
- Добавлена возможность прямого сохранения результатов SQL-запроса на диск;
- В СУБД встроены функции резервного копирования, которые позволяют генерировать архивы в формате tar.gz.
© OpenNet