Drizzle — система керування базами даних, форк MySQL 6.0. Подібно до MySQL, Drizzle має клієнт-серверну архітектуру і використовує SQL як основну командну мову. Drizzle розповсюджується під 2-ю версією GNU General Public License (GPL) з частинами, включаючи протоколи носіїв і повідомленнями копіювання, ліцензовані під BSD.

Історія Цей проєкт заснований колишнім директором MySQL з архітектури і став актуальним після прохолодного ставлення Oracle придбаної разом з Sun Microsystems у 2009 MySQL, і являє собою спрощений і швидший варіант MySQL, в якому відібрані і вилучені всі ресурсомісткі і малозатребувані можливості MySQL 5. Частина з цих можливостей можна реалізувати через спільні плагіни. Ця СКБД позиціонується як високошвидкісна і високонадійна БД, з підтримкою ACID-транзакцій. Як сховище використовується InnoDB і PBXT. Весь сі-шний початковий код з MySQL був повністю переписаний на мові C++. Управління проєктом перебуває в руках незалежної спільноти.

На відміну від SQLite, Drizzle не претендує на роль вбудованого рішення і реалізований у вигляді сервера. Архітектура Drizzle побудована на основі ідеї мікро-ядра, сповідує максимальне спрощення структури БД і винесення логіки на бік застосунків. Зокрема, такий дизайн СКБД дозволяє організувати обробку величезного числа паралельних запитів, при виконанні яких повною мірою задіяні потужності сучасних багатоядерних центральних процесорів, як результат — 'овскіе пікові показники Drizzle інтенсивності обміну запитами-відповідями з вебзастосунком перевищують будь-який стандартний сервер MySQL.

Крім цього, в Drizzle додатково реалізовані вбудовані засоби для рознесення даних по ключовому полю (шардінг) на кластер з декількох машин, для створення ефективного балансування навантаження для наднавантажених проєктів. У порівнянні з MySQL в Drizzle видалена підтримка збережених процедур (замість CREATE FUNCTION слід використовувати зв'язувані об'єкти), тригерів, кешу запитів (query cache), видів (view), операції GRANT і ALTER, обмежень ACL, команди SHOW, попередньо підготовлених запитів (prepared statement) тощо. Припинено підтримка маловикористовуваних типів даних з MySQL.

Для запуску багатьох рушіїв, написаних у зв'язці з MySQL, під Drizzle знадобиться модифікація і деякий тюнінг коду цих рушіїв, втім, як стверджують розробники, зміни ці невеликі і можливостей Drizzle насправді більш ніж досить для повноцінного функціонування більшості популярних CMS, тим більше що спільнота вже пристосувала багато відомих PHP-двигуни під Drizzle, що дозволяє показувати їхню рекордну продуктивність на тому ж обладнанні, на якому працював MySQL.

Побічним наслідком спрощення проєкту стало підвищення рівня безпеки: зокрема Drizzle перестав бути вразливим до багатьох популярних різновидів sql-ін'єкцій для MySQL.

Виноски

Джерела Игорь Савчук. MySQL «на стероидах» Первый стабильный релиз СУБД Drizzle

Посилання Drizzle FAQ Brian Aker's «What If?» article on Drizzle Michael Widenius's «What If» article on Drizzle Drizzle homepage FLOSS interview with Brian on the future direction of Drizzle