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 done in the backend and kernel layers.
SQL MonetDB/SQL is a top-level extension, which provides complete support for transactions in compliance with the
SQL:2003 standard. Data Vaults map the data from the distributed repositories to SciQL arrays, allowing for improved handling of
spatio-temporal data in MonetDB. SciQL will be further extended for the
Human Brain Project.
Data Vaults Data Vault is a database-attached external file repository for MonetDB, similar to the
SQL/MED standard. The Data Vault technology allows for transparent integration with distributed/remote file repositories. It is designed for scientific data
data exploration and
mining, specifically for
remote sensing data. The data is stored in the file repository in the original format, and loaded in the database in a
lazy fashion, only when needed. The system can also process the data upon ingestion, if the data format requires it. As a result, even very large file repositories can be efficiently analyzed, as only the required data is processed in the database. The data can be accessed through either the MonetDB SQL or SciQL interfaces. The Data Vault technology was used in the
European Union's TELEIOS project, which was aimed at building a
virtual observatory for Earth observation data.
SAM/BAM MonetDB has a
SAM/BAM module for efficient processing of
sequence alignment data. Aimed at the
bioinformatics research, the module has a SAM/BAM data loader and a set of SQL UDFs for working with
DNA data.
RDF/SPARQL 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.
Python integration Similarly to the embedded R UDFs in MonetDB, the database now has support for UDFs written in
Python/
NumPy. The implementation uses Numpy arrays (themselves Python wrappers for C arrays), as a result there is limited overhead - providing a functional Python integration with speed matching native SQL functions. The Embedded Python functions also support mapped operations, allowing user to execute Python functions in parallel within SQL queries. The practical side of the feature gives users access to Python/NumPy/
SciPy libraries, which can provide a large selection of statistical/analytical functions.
MonetDB embedded Following the release of an embedded driver for R and R UDFs in MonetDB (MonetDB/R), the authors created an embedded version of MonetDB in R called
MonetDBLite, embedded versions for Python and Java followed. 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. The idea behind it is to easily embed an
SQLite-like package with the performance of an in-memory optimized columnar store.
Former extensions A number of former extensions have been deprecated and removed from the stable code base over time. Some notable examples include an
XQuery extension removed in MonetDB version 5; a
JAQL extension, and a
streaming data extension called
Data Cell. == MonetDB Foundation ==