TEAM 5: SQL to NOSQL Migration for Senslog Database

TEAM LEADER: Andrey Sadovykh

PROJECT IDEA:

Sensors are used typically to monitor various physical or virtual world. The information retrieved from the sensors are generally stored in the database to be able to do the post processing and analysis. This database from sensors could grow exponentially. It often requires to have new database machines as the size increases. Cloud computing, virtualization and new database technologies are the key technologies to solve these problems.

Traditionally SQL databases are most widely used and have also proved reliable with time. However, with growing databases and availabilities of new database technologies, there is a possibility to get performance optimization. These technologies are often open source and highly scalable. With the new dynamics in the database technologies comparing existing SQL database to NOSQL database technology is highly recommended. Therefore, with the open sensor database and tools available from Senslog, we would like to do a proof of concept comparing these two technologies.

The first goal of the project is doing a proof of concept of Senslog database migration from SQL (PostgreSQL)  to NOSQL (MongoDB). Typical techniques of transforming SQL model to Mongodb schema: tables to collections, converting relations to table embedding and Reference-IDs. This transformation will be particular to Senslog database logic, however, a general conclusion will be extracted.

The second goal of the project will be performance testing and comparison between these two (PostgreSQL and MongoDB) databases. The idea will be to deploy PostgreSQL (old schema) and MongoDB(with new schema) two instances on same characteristics machine.  We will develop test scripts for performance testing (load testing and stress testing) with performance testing tool (Jmeter).