Re: Using Postgres to store high volume streams of sensor readings
От | Gerhard Heift |
---|---|
Тема | Re: Using Postgres to store high volume streams of sensor readings |
Дата | |
Msg-id | 20081121125556.GA5765@toaster.kawo1.rwth-aachen.de обсуждение исходный текст |
Ответ на | Using Postgres to store high volume streams of sensor readings ("Ciprian Dorin Craciun" <ciprian.craciun@gmail.com>) |
Ответы |
Re: Using Postgres to store high volume streams of sensor readings
|
Список | pgsql-general |
On Fri, Nov 21, 2008 at 02:50:45PM +0200, Ciprian Dorin Craciun wrote: > Hello all! > > I would like to ask some advice about the following problem > (related to the Dehems project: http://www.dehems.eu/ ): > * there are some clients; (the clients are in fact house holds;) > * each device has a number of sensors (about 10), and not all the > clients have the same sensor; also sensors might appear and disappear > dynamicaly; (the sensors are appliances;) > * for each device and each sensor a reading is produced (at about > 6 seconds); (the values could be power consumptions;) > * I would like to store the following data: (client, sensor, > timestamp, value); > * the usual queries are: > * for a given client (and sensor), and time interval, I need > the min, max, and avg of the values; > * for a given time interval (and sensor), I need min, max, and > avg of the values; > * other statistics; > > Currently I'm benchmarking the following storage solutions for this: > * Hypertable (http://www.hypertable.org/) -- which has good insert > rate (about 250k inserts / s), but slow read rate (about 150k reads / > s); (the aggregates are manually computed, as Hypertable does not > support other queries except scanning (in fact min, and max are easy > beeing the first / last key in the ordered set, but avg must be done > by sequential scan);) > * BerkeleyDB -- quite Ok insert rate (about 50k inserts / s), but > fabulos read rate (about 2M reads / s); (the same issue with > aggregates;) > * Postgres -- which behaves quite poorly (see below)... > * MySQL -- next to be tested; For this case I would use RRDTool: http://oss.oetiker.ch/rrdtool/ Regards, Gerhard
Вложения
В списке pgsql-general по дате отправления: