Drizzle — это прекращенная версия бесплатного программного обеспечения / системы управления реляционными базами данных (СУБД) с открытым исходным кодом, которая возникла из ныне несуществующей ветки разработки 6.0 СУБД MySQL . [2]
Как и MySQL, Drizzle имел архитектуру клиент/сервер и использовал SQL в качестве основного командного языка . Старые файлы Drizzle распространяются под лицензией GNU General Public License (GPL) версии 2 и 3, а некоторые части, включая драйверы протокола и обмен сообщениями репликации , — под лицензией BSD .
Раннюю работу над форком провел в середине 2008 года Брайан Акер . [3] Текущей разработкой занималась группа разработчиков, в которую входили сотрудники Canonical Ltd. , Google , Six Apart , Sun Microsystems , Rackspace , Data Differential, Blue Gecko, Intel , Percona , Hewlett-Packard , Red Hat и других. . [4] Исходный код Drizzle вместе с инструкциями по его компиляции доступен на веб-сайте Launchpad проекта . [5]
В октябре 2010 года на Drizzle было 13 478 участников, всего 96 участников и 37 активных участников. [6] Также было объявлено, что Drizzle вступил в бета-тестирование. [7] Первая общедоступная версия была выпущена в марте 2011 года. [8] Drizzle активно участвовал в проекте Google Summer of Code с 2010 года. [9] [10] [11] [12]
К концу 2013 года активная фаза проекта подошла к концу. В июле 2016 года сопровождающие пришли к выводу, что пришло время «официально свернуть дела», потому что «ни у кого из нас больше нет времени, чтобы посвятить себя Drizzle». [13]
Drizzle ориентирован на рынки веб-инфраструктуры и облачных вычислений . Разработчики продукта описывают его как «меньшую, более тонкую и (надеюсь) более быструю версию MySQL». [14]
Drizzle написан на языке программирования C++ и хранит строковые данные в формате UTF-8 . Он разрабатывается для современных Unix-подобных операционных систем , включая Linux , FreeBSD , Mac OS X и Solaris — в общем, для любой ОС, соответствующей POSIX и имеющей работающую реализацию GNU Autotools . Microsoft Windows в настоящее время не поддерживается, в основном из-за отсутствия поддержки Autotools, но обсуждалось, как это сделать разумным образом.
Drizzle — это переработанная версия кодовой базы MySQL v6.0, разработанная на основе центральной концепции микроядерной архитектуры . Такие функции, как кэш запросов и система аутентификации , теперь являются плагинами к базе данных, которые соответствуют общей теме «подключаемых механизмов хранения», которые были представлены в MySQL 5.1. Он поддерживает PAM , LDAP и HTTP AUTH для аутентификации через поставляемые плагины. Через свою систему плагинов он в настоящее время поддерживает ведение журналов в файлах, системный журнал и удаленные службы, такие как RabbitMQ и Gearman . Drizzle — это реляционная база данных, совместимая с ACID , которая поддерживает транзакции посредством конструкции MVCC . [15]
Были добавлены точки подключаемых модулей для поддержки репликации , механизмов хранения , перезаписи запросов, табличных функций, пользовательских функций , адаптеров протоколов и множественных кэшей запросов.
Как и MySQL, Drizzle поддерживает одновременное использование нескольких движков. Благодаря этому Drizzle включает встроенную поддержку дерева B+ и хеш- индексов. Планировщик запросов Drizzle способен использовать несколько индексов из нескольких механизмов для удовлетворения сложных запросов, используя временные операции с растровыми индексами в памяти .
Триггеры базы данных в Drizzle поддерживаются для DML , DDL и ряда дополнительных операций на основе событий на сервере. Система потоковой передачи BLOB-объектов PrimeBase, которая позволяет Drizzle передавать в потоковом режиме большие двоичные объекты (BLOB) через HTTP, использует эту систему. В настоящее время все триггеры Drizzle должны быть написаны на C++.
Любой запрос можно сопоставить и динамически переписать, отправляя его на сервер. Это действие выполняется до того, как произойдет синтаксический анализ .
Поддерживается широкий спектр собственных типов данных , в том числе:
Благодаря поддержке команды EXECUTE Drizzle может управлять динамическим многовыраженным SQL. С помощью ключевого слова CONCURRENT эти операторы могут выполняться параллельно .
Репликация в Drizzle осуществляется путем генерации «сообщений» с использованием библиотеки Google Protocol Buffers . Эти сообщения затем сохраняются и выполняются на удаленных серверах. Формат сообщения — это нейтральный формат, отличный от SQL, который позволил Drizzle иметь приложения репликации для RabbitMQ, Memcached , MySQL, Voldemort и Apache Cassandra .
Drizzle лицензируется по второй и третьей версиям GPL, а некоторые части, такие как клиентская библиотека libdrizzle, — по лицензии BSD .
{{cite web}}
: CS1 maint: archived copy as title (link)