The MonetDB database was originally developed by the CWI database research group (see https://www.monetdb.org/). Development has now shifted to the spin-off company MonetDB Solutions.
Via the MonetDB project we have brought the MonetDB system in open source, where it is accessible at https://www.monetdb.org/easy-setup/. Even though development happens mostly in a company, the MonetDB database system will remain open source. It is available under the Mozilla Public License 2.0.
The MonetDB database system is a high-performance database kernel for query-intensive applications. The MonetDB source can be found at our Mercurial server. There is also a github mirror that is updated once an hour.
MonetDB is built using the cmake
program. It is recommended to build in a directory that is not inside the source tree. In order to build, use the following commands when inside your build directory:
cmake [options] /path/to/monetdb/source
cmake --build .
cmake --build . --target install
In order to install into a different directory than the default /usr/local
, add the option -DCMAKE_INSTALL_PREFIX
:
cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/monetdb /path/to/monetdb/source
cmake --build .
cmake --build . --target install
There are many options that can be used to select how MonetDB is to be built. Options can be turned ON
or OFF
using a -D
flag on the first of the cmake
command lines. Except when specified otherwise, options are ON
when the relevant libraries can be found. Available options are:
Option | Explanation |
---|---|
ASSERT | Enable asserts (default=ON for development sources, OFF for tarball installation) |
CINTEGRATION | Enable support for C UDFs (default=ON except on Windows) |
CMAKE_SUMMARY | Show a summary of the cmake configuration (for debug purposes, default=OFF) |
CMAKE_UNITTEST | Build and run the unittest for the build system (default=OFF) |
FITS | Enable support for FITS |
GEOM | Enable support for geom module |
INT128 | Enable support for 128-bit integers |
NETCDF | Enable support for netcdf |
ODBC | Compile the MonetDB ODBC driver |
PY3INTEGRATION | Enable support for Python 3 integration into MonetDB |
RINTEGRATION | Enable support for R integration into MonetDB |
SANITIZER | Enable support for the GCC address sanitizer (default=OFF) |
SHP | Enable support for ESRI Shapefiles |
STRICT | Enable strict compiler flags (default=ON for development sources, OFF for tarball installation) |
TESTING | Enable support for testing |
WITH_BZ2 | Include bz2 support |
WITH_CMOCKA | Include cmocka support (default=OFF) |
WITH_CURL | Include curl support |
WITH_LZMA | Include lzma support |
WITH_PCRE | Include pcre support |
WITH_PROJ | Include proj support |
WITH_READLINE | Include readline support |
WITH_VALGRIND | Include valgrind support |
WITH_XML2 | Include xml2 support |
WITH_ZLIB | Include zlib support |
On Fedora, the following packages are required: bison
, cmake
, gcc
, pkgconf
, python3
.
The following packages are optional but recommended: bzip2-devel
, pcre-devel
, readline-devel
, xz-devel
, zlib-devel
.
The following packages are optional: cfitsio-devel
, gdal-devel
, geos-devel
, libasan
, libcurl-devel
, libxml2-devel
, netcdf-devel
, proj-devel
, python3-devel
, python3-numpy
, R-core-devel
, unixODBC-devel
, valgrind-devel
.
On Ubuntu and Debian the following packages are required: bison
, cmake
, gcc
, pkg-config
, python3
.
The following packages are optional but recommended: libbz2-dev
, libpcre3-dev
, libreadline-dev
, liblzma-dev
, zlib1g-dev
.
The following packages are optional: libasan5
, libcfitsio-dev
, libcurl4-gnutls-dev
, libgdal-dev
, libgeos-dev
, libnetcdf-dev
, libproj-dev
, libxml2-dev
, python3-dev
, python3-numpy
, r-base-dev
, unixodbc-dev
, valgrind
.
cmake
must be at least version 3.12, python
must be at least version 3.5.
We of course hope there aren't any, but if you do find one, you can report bugs in our github repository.
Please note that we do not accept github Pull Requests. See the developers page for instructions.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright 1997 - July 2008 CWI, August 2008 - 2022 MonetDB B.V.