Drizzle
ТипРеляційна система керування базами даних
РозробникБраян Ейкер
Перший випускTBA
Стабільний випуск7.1.36 (23 травня 2012; 12 років тому (2012-05-23)[1])
Операційна системакрос-платформова
Мова програмуванняC++
Доступні мовианглійська, з GNU Gettext доступні 43 мови
ЛіцензіяGNU GPL версії 2/3 та BSD
Вебсайтwww.drizzle.org

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

Історія

Цей проєкт заснований колишнім директором MySQL з архітектури Браяном Ейкером[en] і став актуальним після прохолодного ставлення 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.

Виноски

  1. Архівована копія. Архів оригіналу за 28 березня 2013. Процитовано 21 жовтня 2012.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Джерела

Посилання