Skip to content

Benchmark

DanielHabenicht edited this page Sep 30, 2021 · 11 revisions

This page briefly summarizes each system that is included in the Benchmark. All of the scenarios simulate an IoT network of data collecting nodes. For our experiments, we used weather data. Each node, therefore, simulates a sensor that collects weather data, e.g. temperature, pressure, humidity.

Baseline

The baseline scenario consists of a central mongo DB instance, to which the sensor node sends the measurement data. From the central instance, the data can then be queried by the client.

Advanced

In the advanced MongoDB system, a shared MongoDB was set up following the step in MongoDB Documentation - "Deploy a Sharded Cluster". MongoDB requires that Replication sets are set up for each node and the configuration server. Replication sets are grouped instances, which contain the same data and therefore provide fault tolerance. For this scenario, the configuration server and the sensor nodes were simulated as single Replication set nodes, meaning that they are standalone and do not have copy nodes. MongoDB documentation advises to use at least 3 instances per replication set, but for our experimentation purposes single nodes are sufficient and fault tolerance is not a requirement and would provide too much noise in the benchmarks.
As in the Baseline scenario, each sensor node receives data, but in the advanced scenario, we import the data into the sharded MongoDB instance on each node. The data then gets synched by MongoDB and can be queried from a central mongos instance, which is connected to all nodes and the configuration server.

Syncmesh

Read more about it on its own wiki page

Clone this wiki locally