# MonetDB

Developer(s) [MonetDB Developer Team] {{#property:P1324}} C Cross-platform Column-oriented Official MonetBD

MonetDB is a column-oriented database management system open source, developed by Centrum Wiskunde & Informatica (CWI) in the Netherlands. It has been designed to provide high performance on complex queries against large databases, such as joining tables with hundreds of columns and millions of rows. MonetDB has been used in high-performance applications for online analytical processing (OLAP), data mining, GIS [1], RDF, text extraction and processing of sequence alignment.

## How it works

Column database designed to solve the problem of inefficient working of traditional database systems and analytical systems in the overwhelming majority of "reading" type of operation. They allow for a cheap and low-power the equipment to receive the query execution speed increase of 5, 10 and sometimes even 100 times, at the same time, due to the compression of the data will take up on disk is 5-10 times less than in the case of traditional DBMS.

The basic idea of ​​columnar databases - it does not store data in rows, as do the traditional RDBMS, and in columns. This means that in terms of SQL-client data is typically represented as a table, but a table is physically the plurality of columns, each of which is essentially a table of one field. At the same time physically on the disk the values ​​of one field are stored in succession - something like this: [A1, A2, A3], [B1, B2, B3], [C1, C2, C3] etc.

This organization of data leads to the fact that when the select which fields appear only 3 of the 50 fields in the table, the disc will be physically read only 3 speakers. This means that the load on the input-output channel is about 50/3 = 17 times smaller than when the same request in a conventional database.

In addition, when columnar data storage there is a great opportunity to greatly compress the data, as the data in one column of the table are usually of the same type can not be said about the line.

## Pros and cons MonetDB

Monet DB pluses:

• Quite a full realization of SQL, including INSERT, UPDATE, DELETE
• There is a data compression [2]
• Transaction support (OSS)
• Xquery support and other interfaces to the database

Monet DB cons:

• Weak data compression

## Example of MonetDB

We show a simple session, including database creation, data loading and query execution:

shell> monetdbd create /path/to/mydbfarm
shell> monetdbd start /path/to/mydbfarm
shell> monetdb create voc
shell> monetdb release voc
shell> mclient -u monetdb -d voc
Welcome to mclient, the MonetDB/SQL interactive terminal (Oct2014-SP1)
Database: MonetDB v11.19.7 (Oct2014-SP1), 'mapi:monetdb://localhost:50000/voc'
Type \q to quit, \? for a list of available commands
auto commit mode: on
sql>SELECT 'hello world';
+---------------+
| single_value  |
+===============+
| hello world   |
+---------------+
1 tuple (0.530ms)
sql>\q


## References

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

## Notes

• https://www.monetdb.org/Documentation/Extensions/GIS - GeoSpatial - MonetDB
• http://profyclub.ru/docs/171 - Comparison with other DBMS