I should start of by letting everyone know that I am not an experienced programmer. I have read a number of books on OOP languages and settled on Python to solve this particular problem.
The problem I am tasked with sounds fairly easy but I am experiencing difficulties. I am tasked with taking a data for a number of individual temperature sensors. I am then asked to generate plots using either ROOT or gnuplot and display these plots on a webpage. If this was the only task the problem would be easy (I already have this implemented) the challenge lies making the tool completely configurable by a configuration file. This adds to a complexity a bit, but still has not shaken me. The problem I have is that they also want to preserve the data that I rip off of the SQL server locally. That way they can do more than daily plots with it, possibly weekly plots or two day plots, without bombarding the SQL server. My question is should I set up my own local SQL server for storing this data or, should I implement my own kooky code.
My idea is this. If I create a DataManager object that contains a dictionary full of SensorData objects. now SensorData objects are objects which store all of the data for a particular data in objects known as DaysData objects which will be stored in a dictionary where the key is an integer date. These DaysData objects will contain a list of tuples for time and sensor reading. I was thinking that I could just pickle SensorData objects and unpickle when I needed them. Since my advisor is asking that the data be kept for no longer than a week I should be able to maintain this little database type thing without exhausting memory.
I guess I want to know if my idea is just too complicated (it sounds complicated) to implement or should I invest more time in it? If it is too complicated perhaps someone could explain why it is a bad system so I could improve it? Another bit of information that might be important is that I will not be the only person maintaining this code. I will be going back to school soon so any modification will in all likely hood be dealt with someone else. Thank you all for your time. I really want to make a solid bit of software.
Gerald Rude