MonetDB
Encyclopedia
MonetDB is an open source
column-oriented
database
management system developed at the Centrum Wiskunde & Informatica (CWI) in the Netherlands
.
It was designed to provide high performance on complex queries against large databases,
e.g. combining tables
with hundreds of columns and multi-million rows.
As such, MonetDB can be used in application areas that because of performance
issues are no-go areas for using traditional database technology in a
real-time
manner.
MonetDB has been successfully applied in high-performance applications for
data mining
, OLAP, GIS
, XML Query
,
text and multimedia
retrieval.
MonetDB internal data representation is memory-based, relying on the huge memory addressing ranges of contemporary CPUs using demand paging
, and thus departing from traditional DBMS designs involving complex management of large data stores in limited memory.
MonetDB introduced innovations at all layers of a DBMS (see the MonetDB publications): a storage model based on
vertical fragmentation, a modern CPU-tuned query execution architecture that
often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm
over
a typical interpreter-based
RDBMS.
MonetDB is one of the first database systems to focus its query optimization effort on exploiting
CPU cache
s.
MonetDB also features automatic and self-tuning indexes, run-time query optimization,
a modular software architecture, etc.
The MonetDB family consists of:
) was released on September 30, 2004.
MonetDB related:
XQuery/XPath related:
GUI tools for MonetDB/XQuery:
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
column-oriented
Column-oriented DBMS
A column-oriented DBMS is a database management system that stores its content by column rather than by row. This has advantages for data warehouses and library catalogues where aggregates are computed over large numbers of similar data items....
database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
management system developed at the Centrum Wiskunde & Informatica (CWI) in the Netherlands
Netherlands
The Netherlands is a constituent country of the Kingdom of the Netherlands, located mainly in North-West Europe and with several islands in the Caribbean. Mainland Netherlands borders the North Sea to the north and west, Belgium to the south, and Germany to the east, and shares maritime borders...
.
It was designed to provide high performance on complex queries against large databases,
e.g. combining tables
Table (database)
In relational databases and flat file databases, a table is a set of data elements that is organized using a model of vertical columns and horizontal rows. A table has a specified number of columns, but can have any number of rows...
with hundreds of columns and multi-million rows.
As such, MonetDB can be used in application areas that because of performance
issues are no-go areas for using traditional database technology in a
real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
manner.
MonetDB has been successfully applied in high-performance applications for
data mining
Data mining
Data mining , a relatively young and interdisciplinary field of computer science is the process of discovering new patterns from large data sets involving methods at the intersection of artificial intelligence, machine learning, statistics and database systems...
, OLAP, GIS
Geographic Information System
A geographic information system, geographical information science, or geospatial information studies is a system designed to capture, store, manipulate, analyze, manage, and present all types of geographically referenced data...
, XML Query
XQuery
- Features :XQuery provides the means to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents....
,
text and multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
retrieval.
MonetDB internal data representation is memory-based, relying on the huge memory addressing ranges of contemporary CPUs using demand paging
Demand paging
In computer operating systems, demand paging is an application of virtual memory. In a system that uses demand paging, the operating system copies a disk page into physical memory only if an attempt is made to access it...
, and thus departing from traditional DBMS designs involving complex management of large data stores in limited memory.
MonetDB introduced innovations at all layers of a DBMS (see the MonetDB publications): a storage model based on
vertical fragmentation, a modern CPU-tuned query execution architecture that
often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
over
a typical interpreter-based
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...
RDBMS.
MonetDB is one of the first database systems to focus its query optimization effort on exploiting
CPU cache
CPU cache
A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations...
s.
MonetDB also features automatic and self-tuning indexes, run-time query optimization,
a modular software architecture, etc.
The MonetDB family consists of:
- MonetDB/SQL: the relational database solution
- MonetDB/GIS: Simple FeaturesSimple FeaturesSimple feature access , is both an OpenGIS and ISO Standard that specifies a common storage model of geographical data using well-known text . The geometries are also associated with spatial reference systems...
extension to MonetDB/SQL - MonetDB/XQuery: the XML database solution
- MonetDB Server: the multi-model database server
History
MonetDB (initially only called Monet) was first created by Peter A. Boncz and Martin L. Kersten as part of the MAGNUM research project at University of Amsterdam. The first version under an Open Source license (a modified version of the Mozilla Public LicenseMozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
) was released on September 30, 2004.
See also
- List of relational database management systems
- Database management systemDatabase management systemA database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
- Column-oriented DBMSColumn-oriented DBMSA column-oriented DBMS is a database management system that stores its content by column rather than by row. This has advantages for data warehouses and library catalogues where aggregates are computed over large numbers of similar data items....
External links
Science related:MonetDB related:
- Official homepage of MonetDB
- MonetDB on SourceForgeSourceForgeSourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
- MonetDB's DBD driver for the Perl DBIPerl DBIIn computing, the Perl DBI offers a standardized way for programmers using the Perl programming language to embed database communication within their programs. The latest DBI module for Perl from CPAN can run on a range of operating systems....
- In-depth technical information about MonetDB
- Pathfinder, the relational XQuery compiler that provides XQuery functionality for MonetDB
XQuery/XPath related:
GUI tools for MonetDB/XQuery: