🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195517

Re: struktura bazy do zbierania danych z czujników

#195517
From: Adam M
Date: Thu, 08 Feb 2018 19:15
16 lines
4241 bytes
On Thursday, February 8, 2018 at 11:36:12 AM UTC-5, irq wrote:
> Przepraszam Cię za zaśmiecenie wątku poboczną dyskusją z poboczną osobą. Nie mogłem się opanować, ale osobie chyba właśnie o to chodzi.
> 
> W dniu poniedziałek, 5 lutego 2018 23:52:45 UTC+1 użytkownik baItiz napisał:
> > Będę zbierał dane z czujników typu temperatura wewnętrzna i zewnętrzna, 
> > wilgotność względna, ciśnienie powietrza. Lista nie jest zamknięta i 
> > mogą dojść kolejne np. strumień świetlny, stężenie pyłów w powietrzu.
> > 
> 
> Dlatego proponuję Ci abyś wyraźniej rozdzielił zadanie składowania zdarzeń od zadań raportowania. Do składowania przygotuj sobie jak najprostszą, być może partycjonowaną, tabelę pomiarów, zawierającą pary klucz-wartość, typu text - model EAV?. Będzie odporna na ewentualne przyszłe zmiany i na błędy, które wyczyścisz (i zdiagnozujesz) osobno. Nie zawracaj sobie tutaj głowy rozważaniami na temat typów danych, kluczowe jest aby tabela pomiarów zawierała po prostu to co dostaje z czujnika.
> 
> Mając tabelę pomiarów, a więc zabezpieczone stabilne składowanie danych pierwotnych (i ich backupowanie), możesz dowolnie projektować i modyfikować struktury przeznaczone do sprawnego raportowania, do których będziesz przepisywał odpowiednio zinterpretowane (i zagregowane?) wartości surowe. Tu będziesz mógł eksperymentować i doskonalić, nie ryzykując utraty stabilności rejestracji pomiarów.
> 
> Odnośnie identyfikacji miejsca pomiaru, ogranicz się w tabeli pomiarów do samego identyfikatora czujnika. Aby "zgeolokalizować" taki czujnik, zaprojektuj oddzielną tabelę czujników, w której będziesz prowadził ich ewidencję, a m.in. będziesz przechowywał ich lokalizacje oraz daty instalacji - wszak czujniki mogą się psuć, czy z innych powodów być wymieniane. Geolokalizację pomiaru uzyskasz przez odpowiednie złączenie (z tabelą pomiarów, bądź z tabelami raportującymi).

Zagadzam sie w 100% - w systemach rejestracji danych czasu rzeczywistego pewny zapis pomiaru jest najwazniesza rzecza - dlatego tabela powinna byc jak najprostasza. Reszte mozna dobudowac jak sie chce - w zaleznoci jak dane beda uzywane. Dodatkowo autor powinien oszacowac rozdzielczosc czasu w systemie i rozmiar strumienia danych (tzn jak szybko dane beda naplywaly i ile ich bedzie w danym momecie) - moze sie okazac ze sam SQL jest za wolny i trzeba dolozyc jakies posrednie buforowanie przed zapisem do bazy danych. W zasadzie w systemach rejestracji danych czasu rzeczywistego projektowanie bazy danych jest zadaniem drugorzednym - baza danych ma poprostu zapewnic pewna i trwala rejestracje pomiaru - jak dane sa pozniej uzywane/opisane nie jest to problemem systemu rejestracji.
Technical Details
Message-ID: <fcf9136a-74d7-469e-8274-cffa1a6624d3@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o66no856823ita.0!news-out.google.com!s63ni1393itb.0!nntp.google.com!o66no856819ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <p5an7s$eou$1@node2.news.atman.pl> <d33f511a-0c12-4805-abd0-06577cabc391@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.36.11.6 with SMTP id 6mr123112itd.11.1518117346195;        Thu, 08 Feb 2018 11:15:46 -0800 (PST)
X-Received: by 10.157.87.132 with SMTP id q4mr13618oth.2.1518117346033; Thu, 08 Feb 2018 11:15:46 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o66no856823ita.0!news-out.google.com!s63ni1393itb.0!nntp.google.com!o66no856819ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Thu, 8 Feb 2018 11:15:45 -0800 (PST)
In-Reply-To: <d33f511a-0c12-4805-abd0-06577cabc391@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.89.204.241; posting-account=aFGPVQoAAADngh59qlchYygiuB87zBBU
NNTP-Posting-Host: 70.89.204.241
References: <p5an7s$eou$1@node2.news.atman.pl> <d33f511a-0c12-4805-abd0-06577cabc391@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fcf9136a-74d7-469e-8274-cffa1a6624d3@googlegroups.com>
Subject: Re: struktura bazy do zbierania danych z czujników
From: Adam M <amorawski@magna-power.com>
Injection-Date: Thu, 08 Feb 2018 19:15:46 +0000
X-Received-Bytes: 4588
X-Received-Body-CRC: 1262407825
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit