私はこのようなスマートメーターのデータテーブルを持っています:
# Spalte Typ Kollation Attribute Standard
1 id int(11) Nein kein(e) AUTO_INCREMENT
2 channel_id int(11) Ja NULL
3 timestamp bigint(20) Nein
4 value double Nein kein(e)
すべての値は、スマートメータリングセンサーから取得されます。
id channel_id timestamp value
17294 6 [->] 1360154653709 474.2
17295 10 [->] 1360154653709 19669893
17296 6 [->] 1360154672997 643.5
17297 6 [->] 1360154674760 608.8
17298 6 [->] 1360154676566 602.8
17299 10 [->] 1360154672997 19669893.3
17300 10 [->] 1360154674760 19669893.6
17301 10 [->] 1360154676566 19669893.9
17302 6 [->] 1360154678519 566.7
17303 10 [->] 1360154678519 19669894.2
17304 10 [->] 1360154680210 19669894.4
17305 6 [->] 1360154680210 396.9
Channel_id 6は実際の消費量であり、これは毎秒保持します。Channel_id 10はメーターカウンターです。1時間ごとに1つの値で十分ですが、センサーは1秒ごとにそれを提供します。
「重複」を検出して削除する定期的なルーチンを作成したいと思います。
重複とは、同じchannel_idと指定された最大タイムスタンプの差(たとえば+10秒)を持つ現在の行の後の行です。または+1時間。
これを使用して、データの量を、良好なグラフのために保持する必要がある量まで減らしようとします。