2015-06-19 7 views
7

Ich baue eine einmalige Smart-Home-Datensammel-Box. Es wird erwartet, dass es auf einem raspberry-pi-class-Rechner (~ 1G RAM) läuft und etwa 200K Datenpunkte pro Tag verarbeitet (jeweils ein 64-Bit-Int). Wir haben mit Vanilla MySQL gearbeitet, aber die Performance beginnt zu bröckeln, vor allem bei Anfragen zur Anzahl der Einträge in einem bestimmten Zeitintervall.Auswählen einer TSDB für eine einmalige Smart-Home-Installation

Wie ich es verstehe, genau das ist genau das, für das Zeitreihendatenbanken entwickelt wurden. Wenn überhaupt, ist das Ungewöhnliche an meiner Situation, dass die Lautstärke relativ niedrig ist, ebenso wie die Menge an verfügbarem RAM.

Ein kurzer Blick auf Wikipedia schlägt OpenTSDB, InfluxDB und möglicherweise BlueFlood vor. OpenTSDB schlägt 4G von RAM vor, obwohl das für Einstellungen mit hohem Volumen sein kann. InfluxDB erwähnt tatsächlich Sensormesswerte, aber ich kann nicht viele Informationen darüber finden, welche Art von Ressourcen benötigt werden.

Okay, also hier ist meine eigentliche Frage: Gibt es offensichtliche rote Fahnen, die eines dieser Systeme für das Projekt, das ich beschreibe, unangemessen machen würden?

Ich erkenne, dass dies eine Einladung zu flame ist, also zähle ich auf Leute, um es auf der hellen und hilfreichen Seite zu behalten. Vielen Dank im Voraus!

+0

* Leistung beginnt zu bröckeln, vor allem für Abfragen über die Anzahl der Einträge in einer bestimmten Zeit * klingt mehr wie unzureichende/unangemessene Indizes oder schlecht geschriebene (nicht sargable) Abfragen für mich. –

+0

Da ich Raspberry-Pi nicht kenne, frage ich mich, welche Linux-Distributionen unterstützt werden. Gibt es eine Liste von Distributionen, die du teilen kannst? –

+0

Hier ist die Liste: https://www.raspberrypi.org/downloads/ –

Antwort

3

InfluxDB sollte mit 1 GB RAM bei diesem Volumen in Ordnung sein. Eingebettete Sensoren und Low-Power-Geräte wie Raspberry Pi sind definitiv ein zentraler Anwendungsfall, obwohl wir nicht viel mit den neuesten Betas getestet haben, die über ARM hinausgehen.

InfluxDB 0.9.0 wurde gerade veröffentlicht und 0.9.x sollte in wenigen Wochen in unserer Hosted-Umgebung verfügbar sein. Die Low-End-Instanzen haben 1 GB RAM und 1 CPU-Äquivalent, so dass sie einen vernünftigen Proxy für Ihre Pi-Leistung darstellen, und die kostenlose Testversion dauert zwei Wochen.

Wenn Sie genauere Fragen haben, wenden Sie sich bitte an uns unter [email protected] oder [email protected] und wir werden sehen, wo wir helfen können.

1

Haben Sie es mit OpenTSDB versucht? Wir verwenden OpenTSDB für fast 150 Häuser, um Smart-Meter-Daten zu sammeln, bei denen Daten alle 10 Minuten gesammelt werden. d. h. viele Datenpunkte an einem Tag. Aber wir haben es nicht in Raspberry Pi getestet. Für Raspberry Pi kann OpenTSDB ziemlich schwer sein, da es Webserver, HBase und Java laufen muss. Nur für Anregungen. Sie können Himbeer-Pi als Sammel-Hub für Smart Home verwenden und die Daten von Raspberry Pi zum Server senden und alle Punkte im Server speichern. Später im Server können Sie tun, was Sie wollen, wie Aggregation, oder statistische Analysen durchführen usw. Und dann können Sie die Ergebnisse zurück an den Smart Hub senden.

+0

Der Raspberry Pi * ist * der Server :). Möglicherweise ist keine externe Netzwerkverbindung vorhanden. Danke für deine Antwort! –

2

ATSD unterstützt ARM-Architektur und kann auf einem Raspberry Pi 2 installiert werden, um Sensordaten zu speichern. Derzeit ist Ubuntu oder Debian OS erforderlich. Stellen Sie sicher, dass das Gerät über mindestens 1 GB RAM und eine SD-Karte mit hoher Schreibgeschwindigkeit (60 MB/s oder mehr) verfügt. Die Größe der SD-Karte hängt davon ab, wie viele Daten Sie speichern möchten und für wie lange, wir empfehlen mindestens 16 GB, sollten Sie vorausplanen. Backup Batter Power wird auch empfohlen, um vor Abstürzen und unangemessenen Stillständen zu schützen.

Here finden Sie eine ausführliche Anleitung zum Einrichten eines Temperatur-/Feuchtigkeitssensors, der mit einem Arduino-Gerät gekoppelt ist. Mit der Anleitung können Sie die Sensordaten mit MQTT- oder TCP-Protokoll in ATSD streamen. Open-Source-Skizzen sind enthalten.

Verwandte Themen