Drizzle (database server)

Drizzle (database server)
Drizzle
Drizzle-logotype.svg
Developer(s) Brian Aker and others
Preview release 2011.11.29 / November 13, 2011; 6 days ago (2011-11-13)[1]
Development status Active
Written in C++
Operating system Cross-platform POSIX
Available in English, with GNU Gettext translations into 43 other languages
Type Database management system
License GNU General Public License version 2 and 3 and BSD
Website drizzle.org

Drizzle is a free software/open source relational database management system (DBMS) that was forked from version 6.0 of the MySQL DBMS.

Like MySQL, Drizzle has a client/server architecture and uses SQL as its primary command language. Drizzle is distributed under version 2 and 3 of the GNU General Public License (GPL) with portions, including the protocol drivers and replication messaging under the BSD license.

Early work on the fork was done mid-2008 by Brian "Krow" Aker.[2] Ongoing development is handled by a team of contributors that includes staff members from Canonical Ltd., Google, Six Apart, Sun Microsystems, Rackspace, Data Differential, Blue Gecko, Intel, Percona, Hewlett-Packard, Red Hat, and others.[3] Drizzle source code, along with instructions on compiling it, are available via the project's Launchpad website.[4]

In October 2010, Drizzle had 13,478 total contributions, 96 total contributors, and 37 active contributors.[5] It was also announced that Drizzle had entered Beta,[6]. The first GA version was released in March 2011[7]. Drizzle has actively participated in the Google Summer of Code Project in 2010[8] and in 2011[9].

Contents

Uses

Drizzle is targeted at the web-infrastructure and cloud computing markets. The developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of MySQL".[10]

Platforms and interfaces

Drizzle is written in the C++ programming language, and stores its string data in the UTF-8 format. It is being developed for modern Unix-like operating systems, including Linux, FreeBSD, Mac OS X, and Solaris – in general, any OS that conforms to POSIX and has a working implementation of the GNU Autotools. Microsoft Windows is not supported at this time, mainly for lack of Autotools support, but there has been discussion of how to accomplish this in a sensible manner.

Features

Drizzle is a re-architected version of the MySQL v6.0 codebase and is designed around a central concept of having a microkernel architecture. Features such as the query cache and authentication system are now plugins to the database, which follow the general theme of "pluggable storage engines" that were introduced in MySQL 5.1. It supports PAM, LDAP, and HTTP AUTH for authentication via plugins it ships. Via its plugin system it currently supports logging to files, syslog, and remote services such as RabbitMQ and Gearman. Drizzle is an ACID-compliant relational database that supports transactions via an MVCC design.[11]

Microkernel

Plugin points have been added to support replication, storage engines, query rewrite, table functions, user-defined functions, protocol adapters, and multiple query caches.

Indexes

Like MySQL, Drizzle supports concurrent multiple engines. Via this, Drizzle includes built-in support for B+ tree and Hash indexes. Drizzle's query planner is capable of using multiple indexes, from multiple engines to satisfy complex queries, using temporary in-memory bitmap index operations

Triggers

Database triggers in Drizzle are supported for DML, DDL, and a number of additional event-based operations in the server. The PrimeBase BLOB streaming system, which allows Drizzle to stream binary large objects (BLOBs) via HTTP, makes use of this system. All triggers for Drizzle currently must be written in C++.

Query rewrite

Any query can be matched and rewritten dynamically that is sent to the server. This action is done before parsing occurs.

Data types

A wide variety of native data types are supported, including:

Dynamic SQL

Through support of the EXECUTE command Drizzle can operate dynamic multi-statement SQL. Via the keyword CONCURRENT it can operate these statements in parallel.

Replication

Replication in Drizzle is done by generating "messages" using the Google Protocol 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, and Apache Cassandra.

Although less of a functional feature and more of a developmental feature, the Drizzle project is being built to remove distinctions between internal and external contributors, allowing for cleaner community involvement.

Support and licensing

Drizzle is licensed under version two and three of the GPL, with some parts, such as libdrizzle client library, under the BSD license.

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Drizzle (disambiguation) — Drizzle may refer to: Drizzle, a fairly steady, light precipitation Drizzle (film), a 2005 Ukrainian short feature film Drizzle (image processing), method for the linear reconstruction of undersampled images The Drizzle, alter ego for Adult Swim… …   Wikipedia

  • Comparison of relational database management systems — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • Comparison of database tools — The following tables compare general and technical information for a number of available database administrator tools. Please see individual product articles for further information. This article is neither all inclusive nor necessarily up to… …   Wikipedia

  • MySQL — Логотип MySQL Тип Реляционная СУБД Разработчик MySQL AB (до 2008), Sun Microsystems (2008 2010 …   Википедия

  • Brian Aker — Brian Aker, born August 4, 1972 in Lexington, Kentucky, USA is an open source hacker who has worked on various Apache modules, the Slash system, and numerous storage engines for the MySQL database. Aker is now the Director of Architecture at… …   Wikipedia

  • MySQL — Developer(s) MySQL AB (A subsidiary of Oracle) Initial release May 23, 1995 (1995 05 23 …   Wikipedia

  • Datenbank (Liste) — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Datenbankliste — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • Liste von Datenbanken — Die Liste der Datenbankmanagementsysteme umfasst Software zur Verwaltung von Datenbanken, vor allen von relationalen Datenbanken, objektorientierten Datenbanken und objektrelationalen Datenbanken. Inhaltsverzeichnis 0 9 A B C D E F G H I J …   Deutsch Wikipedia

  • CUBRID — Developer(s) Search Solutions Written in C, C++ Opera …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”