MonetDB

MonetDB is an open-source column-oriented relational database management system (RDBMS) originally developed at the Centrum Wiskunde & Informatica (CWI) in the Netherlands.

It is designed to provide high performance on complex queries against large databases, such as combining tables with hundreds of columns and millions of rows.

This resulted in a CWI spin-off called Data Distilleries, which used early MonetDB implementations in its analytical suite.

[5] MonetDB in its current form was first created in 2002 by doctoral student Peter Boncz and professor Martin L. Kersten as part of the 1990s' MAGNUM research project at University of Amsterdam.

When MonetDB version 4 was released into the open-source domain, many extensions to the code base were added by the MonetDB/CWI team, including a new SQL front end, supporting the SQL:2003 standard.

MonetDB includes automatic and self-tuning indexes, run-time query optimization, and a modular software architecture.

In this release the deprecated streaming data module DataCell was also removed from the main codebase in an effort to streamline the code.

The generated logical execution plans are then translated into MonetDB Assembly Language (MAL) instructions, which are passed to the next layer.

The bottom layer is the database kernel, which provides access to the data stored in Binary Association Tables (BATs).

[16] The authors from the CWI Database Architectures group, composed of Milena Ivanova, Martin Kersten, Niels Nes and Romulo Goncalves, won the "Best Paper Runner Up" at the ACM SIGMOD 2009 conference for their work on Query Recycling.

Due to the three-layer architecture, top-level query interfaces can benefit from optimizations done in the backend and kernel layers.

[22][24] The data is stored in the file repository in the original format, and loaded in the database in a lazy fashion, only when needed.

[28] 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.

The newer R integration feature of MonetDB does not require data to be transferred between the RDBMS and the R session, reducing overhead and improving performance.

The feature is intended to give users access to functions of the R statistical software for in-line analysis of data stored in the RDBMS.

They are distributed as embeddable packages, removing the need to manage a database server, required for the previous API integrations.

The DBMS runs within the process itself, eliminating socket communication and serialisation overhead - greatly improving efficiency.