MonetDB

From Wikipedia, the free encyclopedia
Jump to: navigation, search
MonetDB
MonetDB logo
Developer(s) MonetDB Developer Team
Stable release Jan2014-SP1 / March 10, 2014 (2014-03-10)
Written in C
Operating system Cross-platform
Type Database management system
License MonetDB License (based on the MPL 1.1)
Website www.monetdb.org

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, such as combining tables with hundreds of columns and multi-million rows. MonetDB has been applied in high-performance applications for data mining, online analytical processing (OLAP), geographic information systems,[1] RDF,[2] streaming data processing,[3] text and multimedia retrieval.

History[edit]

MonetDB (initially only called Monet) was first created by 2002 doctoral student Peter Alexander Boncz and professor Martin L. Kersten as part of the 1990s MAGNUM research project at University of Amsterdam.[4] The first version under an open-source software license (a modified version of the Mozilla Public License) was released on September 30, 2004.[5]

Data mining projects in the 1990's required for better analytical database support. This resulted in a CWI the spin-off called Data Distilleries, which used early MonetDB implementations in its analytical suite. Data Distilleries eventually became a subsidiary of SPSS in 2003, which in turn was acquired by IBM in 2009.[3]

MonetDB introduced innovations at all database management system layers: a storage model based on vertical fragmentation, a modern CPU-tuned query execution architecture that often gave MonetDB a 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 caches. MonetDB also features automatic and self-tuning indexes, run-time query optimization, and a modular software architecture.[6][7]

By 2008, a follow-on project called X100 (MonetDB/X100) started, which evolved into the VectorWise technology. VectorWise was acquired by Actian Corporation, integrated with the Ingres database and sold as a commercial product.[8][9]

Architecture[edit]

MonetDB architecture is represented in three layers, each with its own set of optimizers.[10] The front-end is the top layer, providing query interfaces for SQL, SciQL, SPARQL and JAQL.[11] Queries are parsed into domain-specific representations, like relational algebra for SQL, and optimized. The generated logical execution plans are then translated into MonetDB Assembly Language (MAL) instructions, which are passed to the next layer. The middle or back-end layer provides a number of cost-based optimizers for the MAL. The bottom layer is the database kernel, which provides access to the data stored in Binary Association Tables (BATs). Each BAT is a table consisting of a Object-identifier and value columns, representing a single column in the database.[10]

MonetDB internal data representation also relies on the memory addressing ranges of contemporary CPUs using demand paging of memory mapped files, and thus departing from traditional DBMS designs involving complex management of large data stores in limited memory.

Components[edit]

A number of extensions exist for MonetDB that extend the functionality of the database engine. Due to the three-layer architecture, top-level query interfaces can benefit from optimizations one in the backend and kernel layers.

SQL[edit]

MonetDB/SQL is an top-level extension, wich provides complete support for transactions in compliance with the SQL:2003 standard.[10]

GIS[edit]

MonetDB/GIS is an extension to MonetDB/SQL with support for the Simple Features standard of Open Geospatial Consortium (OGS).[1]

SciQL[edit]

SciQL an SQL-based query language for science applications with arrays as first class citizens. SciQL allows MonetDB to effectively function as an array database. It is used in the SciLens and will be further extended for the Human Brain Project.[12]

DataCell[edit]

MonetDB/DataCell adds stream processing facilities on top of the column-store architecture of MonetDB. It provides facilities for data analysis of-the-fly with the database system itself.[3] [10]

RDF/SPARQL[edit]

MonetDB/RDF is a SPARQL-based extension for working with linked data, which adds support for RDF and allowing MonetDB to function as a triplestore. Under development for the Linked Open Data 2 project.[2]

See also[edit]

External links[edit]

References[edit]

  1. ^ a b "GeoSpatial - MonetDB". 4 March 2014. 
  2. ^ a b "MonetDB - LOD2 - Creating Knowledge out of Interlined Data". 6 March 2014. 
  3. ^ a b c "Streaming - MonetDB". 4 March 2014. 
  4. ^ "Monet: A Next-Generation DBMS Kernel For Query-Intensive Applications". Ph.D. Thesis (Universiteit van Amsterdam). May 2002. 
  5. ^ MonetDB historic background
  6. ^ Stefan Manegold (June 2006). "An Empirical Evaluation of XQuery Processors". Proceedings of the International Workshop on Performance and Evaluation of Data Management Systems (ExpDB) (ACM). doi:10.1016/j.is.2007.05.004. Retrieved December 11, 2013. 
  7. ^ P. A. Boncz, T. Grust, M. van Keulen, S. Manegold, J. Rittinger, J. Teubner. MonetDB/XQuery: A Fast XQuery Processor Powered by a Relational Engine. In Proceedings of the ACM SIGMOD International Conference on Management of Data, Chicago, IL, USA, June 2006.
  8. ^ Marcin Zukowski and Peter Boncz (May 20, 2012). "From x100 to vectorwise: opportunities, challenges and things most researchers do not think about". Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (ACM): 861–862. doi:10.1145/2213836.2213967. ISBN 978-1-4503-1247-9. 
  9. ^ Inkster, D. and Zukowski, M. and Boncz, P. A. (September 20, 2011). "Integration of VectorWise with Ingres". ACM SIGMOD Record (ACM). 
  10. ^ a b c d Idreos, S. and Groffen, F. E. and Nes, N. J. and Manegold, S. and Mullender, K. S. and Kersten, M. L. (March 2012). "MonetDB: Two Decades of Research in Column-oriented Database Architectures". IEEE Data Engineering Bulletin (IEEE): 40–45. Retrieved March 6, 2014. 
  11. ^ Jaqueline JAQL Extension of MonetDB
  12. ^ "SCIQL.ORG". 4 March 2014. 
  13. ^ "TELEIOS - Virtual Observatory Infrastructure for Earth Observation Data". 4 March 2014. 

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.