Need advice about which tool to choose?Ask the StackShare community!
RethinkDB vs TimescaleDB: What are the differences?
RethinkDB: JSON. Scales to multiple machines with very little effort. Open source. RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn; TimescaleDB: Scalable time-series database optimized for fast ingest and complex queries. Purpose-built as a PostgreSQL extension. TimescaleDB is the only open-source time-series database that natively supports full-SQL at scale, combining the power, reliability, and ease-of-use of a relational database with the scalability typically seen in NoSQL databases.
RethinkDB and TimescaleDB belong to "Databases" category of the tech stack.
Some of the features offered by RethinkDB are:
- JSON data model and immediate consistency.
- Distributed joins, subqueries, aggregation, atomic updates.
- Secondary, compound, and arbitrarily computed indexes.
On the other hand, TimescaleDB provides the following key features:
- Packaged as a PostgreSQL extension
- Full ANSI SQL
- JOINs (e.g., across PostgreSQL tables)
RethinkDB and TimescaleDB are both open source tools. RethinkDB with 22.4K GitHub stars and 1.74K forks on GitHub appears to be more popular than TimescaleDB with 7.28K GitHub stars and 385 GitHub forks.
According to the StackShare community, RethinkDB has a broader approval, being mentioned in 37 company stacks & 25 developers stacks; compared to TimescaleDB, which is listed in 15 company stacks and 3 developer stacks.
Developing a solution that collects Telemetry Data from different devices, nearly 1000 devices minimum and maximum 12000. Each device is sending 2 packets in 1 second. This is time-series data, and this data definition and different reports are saved on PostgreSQL. Like Building information, maintenance records, etc. I want to know about the best solution. This data is required for Math and ML to run different algorithms. Also, data is raw without definitions and information stored in PostgreSQL. Initially, I went with TimescaleDB due to PostgreSQL support, but to increase in sites, I started facing many issues with timescale DB in terms of flexibility of storing data.
My major requirement is also the replication of the database for reporting and different purposes. You may also suggest other options other than Druid and Cassandra. But an open source solution is appreciated.
Hi Umair, Did you try MongoDB. We are using MongoDB on a production environment and collecting data from devices like your scenario. We have a MongoDB cluster with three replicas. Data from devices are being written to the master node and real-time dashboard UI is using the secondary nodes for read operations. With this setup write operations are not affected by read operations too.
We are building an IOT service with heavy write throughput and fewer reads (we need downsampling records). We prefer to have good reliability when comes to data and prefer to have data retention based on policies.
So, we are looking for what is the best underlying DB for ingesting a lot of data and do queries easily
We had a similar challenge. We started with DynamoDB, Timescale, and even InfluxDB and Mongo - to eventually settle with PostgreSQL. Assuming the inbound data pipeline in queued (for example, Kinesis/Kafka -> S3 -> and some Lambda functions), PostgreSQL gave us a We had a similar challenge. We started with DynamoDB, Timescale and even InfluxDB and Mongo - to eventually settle with PostgreSQL. Assuming the inbound data pipeline in queued (for example, Kinesis/Kafka -> S3 -> and some Lambda functions), PostgreSQL gave us better performance by far.
Druid is amazing for this use case and is a cloud-native solution that can be deployed on any cloud infrastructure or on Kubernetes. - Easy to scale horizontally - Column Oriented Database - SQL to query data - Streaming and Batch Ingestion - Native search indexes It has feature to work as TimeSeriesDB, Datawarehouse, and has Time-optimized partitioning.
if you want to find a serverless solution with capability of a lot of storage and SQL kind of capability then google bigquery is the best solution for that.
I chose TimescaleDB because to be the backend system of our production monitoring system. We needed to be able to keep track of multiple high cardinality dimensions.
The drawbacks of this decision are our monitoring system is a bit more ad hoc than it used to (New Relic Insights)
We are combining this with Grafana for display and Telegraf for data collection
Pros of RethinkDB
- Powerful query language48
- Excellent dashboard46
- JSON42
- Distributed database41
- Open source38
- Reactive25
- Atomic updates16
- Joins15
- MVCC concurrency9
- Hadoop-style map/reduce9
- Geospatial support4
- Real-time, open-source, scalable4
- YC Company2
- A NoSQL DB with joins2
- Great Admin UI2
- Changefeeds: no polling needed to get updates2
- Fast, easily scalable, great customer support2
Pros of TimescaleDB
- Open source9
- Easy Query Language8
- Time-series data analysis7
- Established postgresql API and support5
- Reliable4
- Paid support for automatic Retention Policy2
- Chunk-based compression2
- Postgres integration2
- High-performance2
- Fast and scalable2
- Case studies1
Sign up to add or upvote prosMake informed product decisions
Cons of RethinkDB
Cons of TimescaleDB
- Licensing issues when running on managed databases5