Разработчики СУБД Drizzle объявили о переходе проекта на стадию бета-тестирования. Drizzle представляет собой упрощенный и более быстрый вариант MySQL, в котором убрана поддержка утяжеляющих работу MySQL возможностей, которые планируется реализовать в виде плагинов. БД позиционируется как высоконадежная и поддерживающая ACID-транзакции. В качестве хранилища используется InnoDB и PBXT. Исходные тексты проекта переписаны на языке C++ и распространяются в рамках лицензии GPLv2. Управление проектом находится в руках независимого сообщества. Выпуск первого стабильного релиза намечен на февраль 2011 года.
В отличие от SQLite, СУБД Drizzle не претендует на роль встраиваемого решения и реализована в виде сервера. Архитектура Drizzle построена на основе идеи микро-ядра и подключаемых через модули дополнительных возможностей. В СУБД основной упор делается на оптимизацию для работы в Cloud-инфраструктуре и для обеспечения работы web-приложений (максимальное упрощение структуры БД и вынос логики на сторону приложений). В частности, дизайн СУБД позволяет организовать обработку большого числа параллельных запросов, при выполнении который в полной мере задействуются мощности многоядерных CPU. Имеются встроенные средства для разнесения данных по ключевому полю (шардинг) на кластер из нескольких машин. Большое внимание также уделяется процессу упрощения выполнения типовых задач по использованию и администрированию СУБД.
По сравнению с MySQL в Drizzle удалена поддержка хранимых процедур (вместо CREATE FUNCTION следует использовать связываемые объекты), триггеров, кэша запросов (query cache), представлений (view), операции GRANT и ALTER, ограничений ACL, команды SHOW, предварительно подготовленных запросов (prepared statement). Прекращена поддержка следующих типов данных: SET, TIME, YEAR, TINYINT/SMALLIN/MEDIUMINT, TINYBLOB/MEDIUMBLOB/LONGBLOB, TINYTEXT/MEDIUMTEXT/LONGTEXT, UNSIGNED, GEOMETRY, POINT, LINESTRING, POLYGON, FULLTEXT. Из поддерживаемых типов данных отмечаются: INTEGER, BIGINT, DOUBLE/FLOAT, DECIMAL/NUMERIC, VARCHAR, BLOB, TEXT, DATE, TIMESTAMP, DATETIME, ENUM.
По сравнению с прошлым тестовым выпуском в первой бета-версии представлены следующие улучшения:
- По умолчанию для подключения клиентов используется MySQL-совместимый протокол и порт 3306 (в планах есть проект по созданию легковесного протокола, который будет обслуживать соединения на порту 4427);
- В состав включена утилита drizzledump, предназначенная для проведения прямой миграции (без промежуточных дампов) баз с MySQL в Drizzle;
- Улучшена поддержка репликации и механизмов аутентификации;
- Добавлено множество опциональных плагинов.
Некоторые идеи на будущее:
- Плагин для авторизации в LDAP;
- Независимость от схемы данных, уход от привязки к иерархии директорий в файловой системе и способность работать поверх NoSQL или Cloud-хранилищ;
- Переход на встраиваемый вариант InnoDB (InnoDB Embedded Server) вместо использования Innodb-плагина. InnoDB Embedded занимает около 800 Кб памяти и полностью поддерживает ACID-транзакции;
- Новый, значительно упрощенный, API для создания движков хранилищ данных;
|