Ask HN: Best time series database currently
I am looking for a database to store time series data from sensors and found CrateDB. It looks very interesting. Does anyone have experience with it?
I need something that will scale well horizontally, which it seems CrateDB should be able to do, and CrateDB also has a MQTT broker built into their enterprise version.
Or maybe some other alternative that will scale well?
I am looking at influxdb and Prometheus also but the MQTT broker in CrateDB really appeals to me.
17 comments
[ 3.5 ms ] story [ 46.1 ms ] threadTo know how to store the data, you need to know how you will query it.
If you know how you will query it, you can say devise a way to store it in Cassandra.. which will scale up to PB.
If you just throw in a PB of data, I am not aware of ANY system that is going to let you drop ad-hoc queries at the data and get fast answers. You effectively need to load most / much of the data off disk to process it.
If you only want to store it and not query it yet.. store it off on flatfile. When you decide how you will query it, load it from the flatfile and switch writes to your new system.
I missed where the Petabyte of data came in, but I just made up some numbers here that are accurate from my experience.
Cassandra may be an option. I will look into it.
http://www.scylladb.com/
https://www.timescale.com/
Here are some more details on our future plans for clustering. We do have horizontal scale-out clustering on our roadmap and it's hard to say exactly when it will be released, but we are aiming for the 2nd half of 2018.
That said, we do often find that there multiple reasons why people ask about "clustering" or say they need scale-out:
A. Because you want to scale the amount of available storage - (we allow you to elastically add disks to scale-up the capacity on a single hypertable, have had customers scale a single hypertable to 500B rows)
B. Because you want high availability - (we support this today, via PostgreSQL streaming replication and will be documenting this further)
C. Because you want to support more concurrent queries - (supported today across primary replicas)
D. Because you want to support high ingest rates - (depending on your use case, we have users doing 100-400k rows / second)
E. Because you want to parallelize individual queries (that touch a lot of data) - (some support for parallelization today, more to come)
So we do meet the needs of many today without support for full scale-out clustering (scaling vertically, as jurgenwerk points out). If your requirements are closer to millions of rows per second inserts and storing 100s of TBs / PBs of data, we can't yet support this, but working towards it!