Checkwatts parses and collects hundreds of thousands of energy consumption data sets on a daily basis from various different sources from high level energy consumers. It then crunches data, processes millions of calculations, and finally allows the end
user to visualize and analyze this information in real time with blazing speed.
Our first solution was developed based on initial project requirements and it mainly provided calculations executed in runtime. However, with an increase in data volume, in-depth electricity cost calculation, and predictive analysis requirements,
the system slowly became less responsive even with an implemented caching strategy. This fact coupled with database growth, became a potential problem for heavy platform users with many location points, since they weren't getting near-instant
results any longer.
Since then, we've created two different sets of databases. We maintained a MySQL database which manages data relationships and migrated our core energy data readings to a MongoDB which provides us with the scalability
we needed for the platform, separating data from the logic layer. We used MapReduce for large data set aggregation and performance. Computations are now done upfront and data is later stored in the database. This leaves runtime with the sole function to read data.
Besides the web application, Hapibot also developed a Java app that runs on any supported low cost Single-Board Computer, which we later physically connect to an energy switchboard grid and capture more detailed energy consumption readings
and instantly send it back to the web application. Real-time energy readings using Internet of Things concepts.