Drizzle (database server)

Last updated
Drizzle
Developer(s) Brian Aker and others
Final release
7.2.4 / September 23, 2012;11 years ago (2012-09-23) [1]
Written in C++
Operating system Cross-platform POSIX
Available in English, with GNU Gettext translations into 43 other languages
Type Database management system
License Primarily GNU General Public License version 2 and 3, with some BSD components
Website www.drizzle.org
A Drizzle usage case LAMP software bundle.svg
A Drizzle usage case

Drizzle is a discontinued free software/open-source relational database management system (DBMS) that was forked from the now-defunct 6.0 development branch of the MySQL DBMS. [2]

Contents

Like MySQL, Drizzle had a client/server architecture and uses SQL as its primary command language. Old Drizzle files are 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 Aker. [3] Ongoing development was handled by a team of contributors that included staff members from Canonical 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's Launchpad 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 the Google 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]

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". [14]

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 many discussions of how to accomplish this in a sensible manner.

Features

Drizzle is a re-designed 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. [15]

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 of operations.

Triggers

Database triggers in Drizzle are supported for DML, DDL, and a number of an 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.

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

Related Research Articles

<span class="mw-page-title-main">Database</span> Organized collection of data in computing

In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and analyze the data. The DBMS additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a database system. Often the term "database" is also used loosely to refer to any of the DBMS, the database system or an application associated with the database.

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

<span class="mw-page-title-main">Object database</span> Type of database management system

An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. A third type, object–relational databases, is a hybrid of both approaches. Object databases have been considered since the early 1980s.

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

<span class="mw-page-title-main">Ingres (database)</span> Database software

Ingres Database is a proprietary SQL relational database management system intended to support large commercial and government applications.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB2 until 2017, when it changed to its present form.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.

A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.

<span class="mw-page-title-main">Virtuoso Universal Server</span> Computer software

Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

SAP SQL Anywhere is a proprietary relational database management system (RDBMS) product from SAP. SQL Anywhere was known as Sybase SQL Anywhere prior to the acquisition of Sybase by SAP.

Microsoft SQL Server is a proprietary relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network. Microsoft markets at least a dozen different editions of Microsoft SQL Server, aimed at different audiences and for workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

Polyhedra is a family of relational database management systems offered by ENEA AB, a Swedish company. The original version of Polyhedra was an in-memory database management system which could be used in high availability configurations; in 2006 Polyhedra Flash DBMS was introduced to allow databases to be stored in flash memory. All versions employ the client–server model to ensure the data are protected from misbehaving application software, and they use the same SQL, ODBC and type-4 JDBC interfaces. Polyhedra is targeted primarily for embedded use by Original Equipment Manufacturers (OEMs), and big-name customers include Ericsson, ABB, Emerson, Lockheed Martin, United Utilities and Siemens AG.

<span class="mw-page-title-main">Michael Stonebraker</span> American computer scientist (born 1943)

Michael Ralph Stonebraker is a computer scientist specializing in database systems. Through a series of academic prototypes and commercial startups, Stonebraker's research and products are central to many relational databases. He is also the founder of many database companies, including Ingres Corporation, Illustra, Paradigm4, StreamBase Systems, Tamr, Vertica and VoltDB, and served as chief technical officer of Informix. For his contributions to database research, Stonebraker received the 2014 Turing Award, often described as "the Nobel Prize for computing."

CUBRID ( "cube-rid") is an open-source SQL-based relational database management system (RDBMS) with object extensions developed by CUBRID Corp. for OLTP. The name CUBRID is a combination of the two words cube and bridge, cube standing for a space for data and bridge standing for data bridge.

<span class="mw-page-title-main">Actian Zen</span>

Actian Zen is an ACID-compliant, zero-DBA, embedded, nano-footprint, multi-model, Multi-Platform database management system (DBMS) developed originally by Pervasive Software, which was acquired by Actian Corporation in 2013.

The following is provided as an overview of and topical guide to databases:

<span class="mw-page-title-main">Oracle NoSQL Database</span> Distributed database

Oracle NoSQL Database is a NoSQL-type distributed key-value database from Oracle Corporation. It provides transactional semantics for data manipulation, horizontal scalability, and simple administration and monitoring.

The following outline is provided as an overview of and topical guide to MySQL:

References

  1. "Series 7.2 : Drizzle". Launchpad.net. 23 September 2012. Retrieved 2014-07-04.
  2. "MySQL fork Drizzle gets general release". ZDNet .
  3. Drizzle History Archived September 2, 2013, at the Wayback Machine
  4. List of Drizzle Contributors [ permanent dead link ]
  5. Drizzle.org [ permanent dead link ]
  6. How Many Contributors does Drizzle Have? Archived 2010-10-23 at the Wayback Machine
  7. Drizzle7 Beta Released Archived December 13, 2010, at the Wayback Machine
  8. "Archived copy". Archived from the original on 2011-03-18. Retrieved 2011-03-16.{{cite web}}: CS1 maint: archived copy as title (link)
  9. Archived April 4, 2012, at the Wayback Machine
  10. Archived February 10, 2012, at the Wayback Machine
  11. Archived May 16, 2013, at the Wayback Machine
  12. Archived April 27, 2013, at the Wayback Machine
  13. "Email to drizzle-discuss public mailing list by Brian Aker and Stewart Smith, July 27-28, 2016" . Retrieved 2021-04-15.
  14. Monty-says.blogspot.com
  15. Drizzle Documentation Archived November 25, 2010, at the Wayback Machine