Reputation: 428
This is a proof of concept and I am curious on experiences in using Riak-TS to evaluate it.
I am working on a mobile app where part of the use is to display graphs/charts of various data. The data is related to commercial printers, jobs that pass through to them, and pre-processing information and has a snapshot of various metrics, but is currently only available in real-time so I am looking at a tsdb implementation for analyzing historical data.
I would use Riak-TS to collect time series data on around 30-60 second intervals and use the data to display:
number of jobs printed by hour/shift/day/week/etc Ink usage by hour/shift/day/etc Various other data related to a sum/average/series snapshot of data at a specific time span.
What are some things I should consider to decide whether to use Riak-TS for this and potential drawbacks to think about?
What level of Erlang is required to use Riak for a basic proof of concept set-up of this case. I am pretty comfortable with Python and JavaScript and it looked like Riak was available to work with in those languages, but I probably don't have time to learn Erlang for the setup of this project.
Is there a noticeable difference in the Python, Node.js, HTTP interface easier to use, faster, more features, etc? I have worked with some cloud services where some interfaces had missing/buggy/slow features and would like to plan on using the best one. If that is Java, C#, or Go I would be interest in that information too.
What other open source implementations outside of Riak-TS should I explore?
Upvotes: 2
Views: 483
Reputation: 1001
At first blush this sounds like a good potential use case for Riak TS. Are there drawbacks to using TS vs something else? Maybe, the one thing I would note is that you didn't say how much data you will be dealing with. Riak TS is designed to be clustered from the beginning and the recommendation is that you start with a 5 node cluster for high availability reasons. You can start with a single node and scale out as needed but you lose out on some of the advantages of the TS platform by doing that.
I will also point out that TS was just open sourced not long ago and may not have all of the features of its competitors yet (but the team, and full disclosure I work for Basho, is working on frequent releases to add new features).
On to Erlang. You need to know 0 Erlang to use TS. For what you need to do there is no need to learn Erlang.
The Python client for Riak TS is excellent. I have used it and the Java client extensively. I would guess that the other clients are also quite good because they are written and maintained by the same group of engineers and client software is their specialty.
I would recommend using the client (whether it be Python, Node, Java, etc.) over the HTTP API because it will likely be easier for you and performance will be better since the clients use protocol buffers and/or TTB vs HTTP.
Other databases you should try? You mention TSDB in the title of this question. My experience is that TSDB is much harder to get up and running with. InfluxDB is probably the most popular time series specific database out there right now. I don't have personal experience with it but I am guessing by its popularity that it is pretty good.
Your use case sounds pretty interesting (I used to work in the printing industry) so if you have any other questions I can help with please let me know.
Upvotes: 2