2016-07-20 10 views
2

Dies ist ein Proof of Concept und ich bin neugierig auf Erfahrungen bei der Verwendung von Riak-TS, um es zu bewerten.Riak-TS UseCase vs andere tsdb

Ich arbeite an einer mobilen App, wo ein Teil der Verwendung ist, Diagramme/Diagramme verschiedener Daten anzuzeigen. Die Daten beziehen sich auf kommerzielle Drucker, Aufträge, die zu ihnen weitergeleitet werden, und die Vorverarbeitung von Informationen und eine Momentaufnahme verschiedener Metriken. Derzeit ist sie jedoch nur in Echtzeit verfügbar. Daher betrachte ich eine tsdb-Implementierung zur Analyse historischer Daten.

Ich würde Riak-TS verwenden, um Zeitreihendaten auf 30-60 Sekunden-Intervallen zu sammeln und zur Anzeige der Daten verwenden:

Zahl der Arbeitsplätze um Stunde/Shift/Tag/Woche/etc Tintenverbrauch gedruckt nach Stunde/Schicht/Tag/etc Verschiedene andere Daten in Bezug auf eine Summe/Durchschnitt/Serie Snapshot von Daten zu einer bestimmten Zeitspanne.

Welche Dinge sollte ich berücksichtigen, um zu entscheiden, ob Sie Riak-TS für diese und mögliche Nachteile verwenden sollten?

Welcher Erlang-Level ist erforderlich, um Riak für einen grundlegenden Proof-of-Concept-Aufbau dieses Falles zu verwenden? Ich bin ziemlich vertraut mit Python und JavaScript und es sah so aus, als ob Riak in diesen Sprachen arbeiten konnte, aber ich habe wahrscheinlich keine Zeit, Erlang für die Einrichtung dieses Projekts zu lernen.

Gibt es einen spürbaren Unterschied in der Python, Node.js, HTTP-Schnittstelle einfacher zu bedienen, schneller, mehr Funktionen, etc? Ich habe mit einigen Cloud-Diensten gearbeitet, bei denen einige Schnittstellen fehlende/fehlerhafte/langsame Funktionen hatten und ich würde gerne die beste verwenden. Wenn das Java, C# oder Go ist, wäre ich auch an diesen Informationen interessiert.

Welche anderen Open-Source-Implementierungen außerhalb von Riak-TS sollte ich untersuchen?

Antwort

2

Auf den ersten Blick klingt das wie ein guter möglicher Anwendungsfall für Riak TS. Gibt es Nachteile bei der Verwendung von TS gegenüber etwas anderem? Vielleicht möchte ich anmerken, dass Sie nicht gesagt haben, mit wie vielen Daten Sie es zu tun haben werden. Riak TS ist so konzipiert, dass es von Anfang an geclustert wird. Aus Gründen der Hochverfügbarkeit empfiehlt es sich, mit einem 5-Knoten-Cluster zu beginnen. Sie können mit einem einzelnen Knoten beginnen und nach Bedarf skalieren, aber dadurch verlieren Sie einige der Vorteile der TS-Plattform.

Ich werde auch darauf hinweisen, dass TS vor nicht allzu langer Zeit noch Open Source war und noch nicht alle Features seiner Konkurrenten hat (aber das Team und die vollständige Offenlegung, die ich für Basho arbeite, arbeitet an häufigen Releases hinzuzufügen Neue Eigenschaften).

Auf Erlang. Sie müssen 0 Erlang wissen, um TS zu verwenden. Für das, was Sie tun müssen, müssen Sie Erlang nicht lernen.

Der Python-Client für Riak TS ist ausgezeichnet. Ich habe es und den Java Klienten ausgiebig benutzt. Ich würde vermuten, dass die anderen Kunden auch ziemlich gut sind, weil sie von derselben Gruppe von Ingenieuren geschrieben und gewartet werden und Client-Software ihre Spezialität ist.

Ich würde empfehlen, den Client (ob Python, Knoten, Java, etc.) über die HTTP-API, weil es wahrscheinlich einfacher für Sie und die Leistung wird besser sein, da die Clients Protokollpuffer und/oder TTB verwenden gegen HTTP.

Andere Datenbanken, die Sie ausprobieren sollten? Sie erwähnen TSDB im Titel dieser Frage. Ich habe die Erfahrung gemacht, dass TSDB viel schwieriger zu handhaben ist. InfluxDB ist wahrscheinlich die derzeit beliebteste zeitserienspezifische Datenbank. Ich habe keine persönlichen Erfahrungen damit, aber ich vermute durch seine Popularität, dass es ziemlich gut ist.

Ihr Anwendungsfall hört sich ziemlich interessant an (ich arbeitete früher in der Druckindustrie). Wenn Sie weitere Fragen haben, kann ich Ihnen helfen. Bitte lassen Sie es mich wissen.

+0

Danke! Das Open-Sourcing von TS hat mich dazu bewogen. Für die Datenmenge würde ich für meinen Proof of Concept wahrscheinlich alle 30 Sekunden unseren Server abfragen und für eine einzige Instanz würden Daten auf 10-20 Druckern mit etwa 30 Datenfeldern für jeden Drucker, bis zu 3000 Jobs in verschiedenen Stufen enthalten (wahrscheinlich weniger als 200 Jobs für den Machbarkeitsnachweis) mit ungefähr 50 Datenfeldern für jeden Job und möglicherweise einigen Datenfeldern, die sich auf die Vorverarbeitung des Druckjobs beziehen. Viele der Daten sind bei jedem Zeitstempel statisch (wie beim Druckermodell), aber Dinge wie der Tintenfüllstand ändern sich viel dynamischer – Jinw

Verwandte Themen