MonetDB/e Embedded

Embed the power of an analytical SQL database engine

What does embedded mean?

"An embedded database system is a database management system (DBMS) that is tightly integrated with an application software that requires access to stored data, such that the database system is 'hidden' from the application’s end-user and requires little or no ongoing maintenance." [wikipedia]

The embedded database market has for a long time been dominated by traditional row-stores, often with limited SQL functionality, scalability options, or performance, and where a code footprint in terms of a few KBs was mandatory. Furthermore, most embedded database offerings are still proprietary. This space lacks a mature open-source SQL DBMS, essential to push the performance envelope in Edge Computing.

What is the MonetDB solution?​

Wouldn't it be great if a full-fledged analytics SQL database server could be harnessed to work as an embedded DBMS? Equipped with a fully parallel execution engine to exploit common multi-core platforms, it would address the need for data analytics and machine learning, without relying on expensive interprocess communication or ETL. It would be strongly embedded in the application programme to easily use the UDFs at close range - without overhead in data exchanges. All of this flexibility, based on internationally recognised and awarded technology, and enterprise-grade hardened code. Look no further: MonetDB/e has arrived.

How does it work?

The solution brought to you can be seen above. A large part of the server code has been decoupled to arrive at an embeddable SQL database system, called MonetDB/e. This is shown on the right. A single library to be linked into the application code directly suffices.

The benefits are obvious:

  • No client-server communication overhead
  • No result-set serialization, but binary columnar access
  • Full use of the multi-core parallel query execution
  • A rich type system, including boolean, blob, HUGEINT, UUID, JSON, and DECIMAL
  • Seamless integration with the programming language, such as DataFrames and NumPy
  • Single user control over the resources
  • Working with :memory: databases with controlled RAM footprint.
  • Hybrid set up with concurrent :memory: and server-based storage
  • Boost your data analytics programmes with stateful User-Defined Functions
  • Statistics, Windowing functions, grouped sets, CUBE and ROLLUP

Look at the documentation for further details and explore a small collection of examples in the MonetDB/e repository.

What does it cost?

MonetDB/e is free. It is an integral part of the MonetDB software suite and is distributed for free under its liberal MPL2.0 license.

For support, we refer to Stackoverflow for community help and our service offerings for business support.

Not sure what to do?

Google for videos and papers on MonetDB. Or schedule a meeting with our specialists to find the solution that best fits your needs.

Contact us