Drizzle es un sistema de gestión de bases de datos relacionales (DBMS) de código abierto / software libre discontinuado que se bifurcó de la rama de desarrollo 6.0, ahora extinta, del DBMS MySQL . [2]
Al igual que MySQL, Drizzle tenía una arquitectura cliente/servidor y utiliza SQL como su lenguaje de comandos principal . Los archivos antiguos de Drizzle se distribuyen bajo las versiones 2 y 3 de la Licencia Pública General GNU (GPL) con partes, incluidos los controladores de protocolo y la mensajería de replicación , bajo la licencia BSD .
El trabajo inicial en la bifurcación fue realizado a mediados de 2008 por Brian Aker . [3] El desarrollo en curso fue manejado por un equipo de colaboradores que incluía miembros del personal de Canonical Ltd. , Google , Six Apart , Sun Microsystems , Rackspace , Data Differential, Blue Gecko, Intel , Percona , Hewlett-Packard , Red Hat y otros. [4] El código fuente de Drizzle, junto con las instrucciones para compilarlo, están disponibles a través del sitio web Launchpad del proyecto . [5]
En octubre de 2010, Drizzle tenía 13.478 contribuciones totales, 96 colaboradores totales y 37 colaboradores activos. [6] También se anunció que Drizzle había entrado en la fase Beta. [7] La primera versión GA se lanzó en marzo de 2011. [8] Drizzle ha participado activamente en el proyecto Google Summer of Code desde 2010. [9] [10] [11] [12]
A finales de 2013, la fase activa del proyecto había llegado a su fin. En julio de 2016, los encargados del mantenimiento concluyeron que había llegado el momento de "dar por concluido oficialmente" porque "ninguno de nosotros tiene más tiempo para dedicarle a Drizzle". [13]
Drizzle está orientado a los mercados de infraestructura web y computación en la nube . Los desarrolladores del producto lo describen como una "versión más pequeña, más delgada y (con suerte) más rápida de MySQL". [14]
Drizzle está escrito en el lenguaje de programación C++ y almacena sus datos de cadena en formato UTF-8 . Fue desarrollado para sistemas operativos modernos similares a Unix , incluidos Linux , FreeBSD , Mac OS X y Solaris ; en general, cualquier sistema operativo que cumpla con POSIX y tenga una implementación funcional de GNU Autotools . Microsoft Windows no recibió soporte debido a su falta de compatibilidad con Autotools.
Drizzle es una versión rediseñada del código base de MySQL v6.0 y está diseñado en torno a un concepto central de tener una arquitectura de microkernel . Las características como la caché de consultas y el sistema de autenticación ahora son complementos de la base de datos, que siguen el tema general de los "motores de almacenamiento conectables" que se introdujeron en MySQL 5.1. Admite PAM , LDAP y HTTP AUTH para la autenticación a través de los complementos que incluye. A través de su sistema de complementos, admite el registro en archivos, syslog y servicios remotos como RabbitMQ y Gearman . Drizzle es una base de datos relacional compatible con ACID que admite transacciones a través de un diseño MVCC . [15]
Se han agregado puntos de complemento para admitir replicación , motores de almacenamiento , reescritura de consultas, funciones de tabla, funciones definidas por el usuario , adaptadores de protocolo y múltiples cachés de consultas.
Al igual que MySQL, Drizzle admite varios motores simultáneos. Gracias a esto, Drizzle incluye compatibilidad integrada con árboles B+ e índices hash . El planificador de consultas de Drizzle es capaz de utilizar varios índices, de varios motores para satisfacer consultas complejas, utilizando un índice de mapa de bits temporal en memoria de operaciones.
Los activadores de base de datos en Drizzle son compatibles con DML , DDL y una serie de operaciones adicionales basadas en eventos en el servidor. El sistema de transmisión de BLOB PrimeBase, que permite a Drizzle transmitir objetos binarios grandes (BLOB) a través de HTTP, utiliza este sistema. Actualmente, todos los activadores de Drizzle deben estar escritos en C++.
Se puede hacer coincidir y reescribir dinámicamente cualquier consulta que se envíe al servidor. Esta acción se realiza antes de que se realice el análisis .
Se admite una amplia variedad de tipos de datos nativos, incluidos:
Drizzle puede ejecutar SQL dinámico con múltiples sentencias mediante el comando EXECUTE. Mediante la palabra clave CONCURRENT puede ejecutar estas sentencias en paralelo .
La replicación en Drizzle se realiza generando "mensajes" mediante la biblioteca Google Protocol Buffers . Estos mensajes se almacenan y se ejecutan en servidores remotos. El formato de los mensajes es un formato no neutral de SQL que ha permitido que Drizzle tenga aplicadores de replicación para RabbitMQ, Memcached , MySQL, Voldemort y Apache Cassandra .
Drizzle tiene licencia GPL bajo las versiones dos y tres, y algunas partes, como la biblioteca cliente libdrizzle, están bajo la licencia BSD .
{{cite web}}
: CS1 maint: archived copy as title (link)