On 08/06/12 12:08, Maxim Osipov wrote:
Hi,

Warning: I'm new to CouchDB! And I'm in a process pf selecting a
database to store data from sensors. The scenario looks like this:

There are sensors on the net (may be thousands or later millions) for
things like temperature, motion, etc. Each sensors has an IPv6 address
and pushes data to central server in JSON format, like:
{ temp: 36.6; humidity: 80 }
We don't know in advance what exactly sensor will push, but most of
the time the format of JSON structure is the same. Data is updated ...
say every second for each sensor.

> From the "architecture" point of view it could be a nice solution with
CouchDB, where each sensor is represented by a document and each
sample of sensor data is a version of this document.
Each sample time is represented by a document and each sensor has a field in 
the document.
If multiple sensors read at the same time different documents are produced for 
each sensor.
If sensors are all read at the same time multiple fields can exist in a single 
time document.

Versions have nothing to do with what you are trying to do.

The questions are:
  - do we have time/date information for versions
not a viable idea
  - is it easy/good to access document version history
not for this purpose
  - what is a limit on number of versions and how it affects performance
arbitrary 1000, but not to be used for this purpose
  - is it possible/easy/good to get a time snapshot of database
yes

All other comments are also welcome!

Kind regards,
Maxim

http://otperl.com/my_nanode

381153 minute readings  of temperature data in Couchdb
visualized by couchapp running d3.js
data comes from Nanode #490
some issues with negative degree readings on Nanode.
press Next (not start) to visualize.
You cannot break anything!
records in JSON, date is coded in id

 dt = new Date(parseInt(parseInt(json.rows[0].id.slice(0,14),16)/1000));


|{
   "|_id|":|"04c1f8cbefdf8af6aa4f5cff8291a2fb"|,
   "|_rev|":|"1-56da4c7f440fcd48fd60a222e502d30b"|,
   "|Nanode|":|"5.0.0"|,
   "|NodeNo|":|"0490"|,
   "|comment|":|"comment"|,
   "|datastreams|":|[
       |{
           "|id|":|"temperatureC"|,
           "|value|":|"8.83"|
       }|,
       |{
           "|id|":|"F"|,
           "|value|":|"47.24"|
       }|,
       |{
           "|id|":|"mv"|,
           "|value|":|"0.58"|
       }|
   ]|
}|


David Martin (davidoccam)

Reply via email to