This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources. Find sources: "Drizzle" database server – news ·newspapers ·books ·scholar ·JSTOR(February 2011) (Learn how and when to remove this message) |
Drizzle | |
---|---|
![]() | |
Developer(s) | Brian Aker and others |
Final release | |
Written in | C++ |
Operating system | Cross-platformPOSIX |
Available in | English, with GNUGettext translations into 43 other languages |
Type | Database management system |
License | PrimarilyGNU General Public License version 2 and 3, with someBSD components |
Website | www |
Drizzle is a discontinuedfree software/open-source relationaldatabase management system (DBMS) that wasforked from the now-defunct 6.0 development branch of theMySQL DBMS.[2]
Like MySQL, Drizzle had aclient/server architecture and usesSQL as its primarycommand language. Old Drizzle files are distributed under version 2 and 3 of theGNU General Public License (GPL) with portions, including the protocol drivers andreplication messaging under theBSD license.
Early work on the fork was done mid-2008 byBrian Aker.[3] Ongoing development was handled by a team of contributors that included staff members fromCanonical Ltd.,Google,Six Apart,Sun Microsystems,Rackspace, Data Differential, Blue Gecko,Intel,Percona,Hewlett-Packard,Red Hat, and others.[4] Drizzle source code, along with instructions on compiling it, are available via the project'sLaunchpad website.[5]
In October 2010, Drizzle had 13,478 total contributions, 96 total contributors, and 37 active contributors.[6] It was also announced that Drizzle had entered Beta.[7] The first GA version was released in March 2011.[8] Drizzle has actively participated in theGoogle Summer of Code Project since 2010.[9][10][11][12]
By late 2013 the project's active phase had come to an end. In July 2016 the maintainers concluded that the time had come for "winding things up officially" because "none of us have any time to dedicate to Drizzle anymore".[13]
Drizzle is targeted at the web-infrastructure andcloud computing markets. The developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of MySQL".[14]
Drizzle is written in theC++ programming language, and stores itsstring data in theUTF-8 format. It was developed for modernUnix-likeoperating systems, includingLinux,FreeBSD,Mac OS X, andSolaris – in general, any OS that conforms toPOSIX and has a working implementation of the GNUAutotools.Microsoft Windows was not supported due to its lack of Autotools support.
Drizzle is a re-designed version of the MySQL v6.0 codebase and is designed around a central concept of having amicrokernel architecture. Features such as the querycache andauthentication system are nowplugins to the database, which follow the general theme of "pluggable storage engines" that were introduced in MySQL 5.1. It supportsPAM,LDAP, andHTTP AUTH for authentication via plugins it ships. Via its plugin system it supports logging to files,syslog, and remote services such asRabbitMQ andGearman. Drizzle is anACID-compliant relational database that supports transactions via anMVCC design.[15]
Plugin points have been added to supportreplication,storage engines, query rewrite, table functions,user-defined functions, protocol adapters, and multiple query caches.
Like MySQL, Drizzle supports concurrent multiple engines. Via this, Drizzle includes built-in support forB+ tree andhash indexes. Drizzle's query planner is capable of using multiple indexes, from multiple engines to satisfy complex queries, using temporary in-memorybitmap index of operations.
Database triggers in Drizzle are supported forDML,DDL, and a number of an additional event-based operations in the server. The PrimeBase BLOB streaming system, which allows Drizzle to streambinary large objects (BLOBs) via HTTP, makes use of this system. All triggers for Drizzle currently must be written in C++.
Any query can be matched and rewritten dynamically that is sent to the server. This action is done beforeparsing occurs.
A wide variety of nativedata types are supported, including:
Through support of the EXECUTE command Drizzle can operate dynamic multi-statement SQL. Via the keyword CONCURRENT it can operate these statements inparallel.
Replication in Drizzle is done by generating "messages" using the GoogleProtocol Buffers library. These messages are then stored and executed on remote servers. The message format is a non-SQL neutral format which has allowed Drizzle to have replication appliers to RabbitMQ,Memcached, MySQL,Voldemort, andApache Cassandra.
Drizzle is licensed under version two and three of the GPL, with some parts, such as libdrizzle client library, under theBSD license.
{{cite web}}
: CS1 maint: archived copy as title (link)