Need advice about which tool to choose?Ask the StackShare community!

OpenTSDB

33
74
+ 1
0
TimescaleDB

209
369
+ 1
44
Add tool

OpenTSDB vs TimescaleDB: What are the differences?

Introduction

OpenTSDB and TimescaleDB are two popular database management systems that are used for storing and analyzing time series data. While they both serve the same purpose, there are several key differences between the two.

  1. Data Model: The data model used in OpenTSDB is a fixed schema model, where data is stored in a single table with a predefined set of columns. On the other hand, TimescaleDB uses a flexible schema model, where data can be stored in multiple tables with different columns based on the time series being stored. This allows for greater flexibility and scalability in managing time series data.

  2. Scalability: OpenTSDB uses a sharding-based architecture to achieve scalability. Sharding involves splitting the data across multiple nodes or clusters to improve performance and handle larger data volumes. In contrast, TimescaleDB uses a hypertable-based architecture, which leverages PostgreSQL's scalability features such as partitioning and parallelism to handle large amounts of time series data. This allows TimescaleDB to scale effectively without the need for manual sharding.

  3. Query Language: OpenTSDB uses a custom query language that is specifically designed for time series data analysis. This query language allows users to perform various operations such as aggregations, filtering, and downsampling on time series data. TimescaleDB, on the other hand, leverages SQL as its query language, which provides users with a familiar and powerful language to interact with the database. This makes it easier for users to write complex queries and take advantage of the rich ecosystem of SQL tools and libraries.

  4. Compression and Retention: OpenTSDB provides built-in compression and retention mechanisms for managing time series data. It uses a technique called compaction to compress older data and reduce storage requirements. It also supports automatic data retention based on time or data size. In contrast, TimescaleDB leverages PostgreSQL's built-in compression and retention capabilities. It supports both lossless and lossy compression techniques and provides flexible options for data retention based on time or other custom criteria.

  5. Complex Analytics: TimescaleDB offers a range of advanced analytics capabilities that are not available in OpenTSDB. These include support for window functions, join operations, subqueries, and user-defined functions. It also allows users to create materialized views for faster query performance. These features enable users to perform complex analytical tasks and integrate time series data with other datasets more efficiently.

  6. Ecosystem and Community: OpenTSDB has a relatively smaller ecosystem and community compared to TimescaleDB, which is built on top of PostgreSQL. TimescaleDB benefits from the extensive ecosystem and community support of PostgreSQL, including a wide range of libraries, tools, and integrations. This makes it easier for users to leverage existing resources and integrations when working with TimescaleDB.

In summary, OpenTSDB and TimescaleDB differ in their data model, scalability approach, query language, compression, analytics capabilities, and ecosystem support. These differences make them suitable for different use cases and environments.

Advice on OpenTSDB and TimescaleDB
Needs advice
on
InfluxDBInfluxDBMongoDBMongoDB
and
TimescaleDBTimescaleDB

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

See more
Replies (3)
Yaron Lavi
Recommends
on
PostgreSQLPostgreSQL

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.

See more
Recommends
on
DruidDruid

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.

See more
Ankit Malik
Software Developer at CloudCover · | 3 upvotes · 323K views
Recommends
on
Google BigQueryGoogle BigQuery

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.

See more
Decisions about OpenTSDB and TimescaleDB
Benoit Larroque
Principal Engineer at Sqreen · | 2 upvotes · 134.1K views

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

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of OpenTSDB
Pros of TimescaleDB
    Be the first to leave a pro
    • 9
      Open source
    • 8
      Easy Query Language
    • 7
      Time-series data analysis
    • 5
      Established postgresql API and support
    • 4
      Reliable
    • 2
      Paid support for automatic Retention Policy
    • 2
      Chunk-based compression
    • 2
      Postgres integration
    • 2
      High-performance
    • 2
      Fast and scalable
    • 1
      Case studies

    Sign up to add or upvote prosMake informed product decisions

    Cons of OpenTSDB
    Cons of TimescaleDB
      Be the first to leave a con
      • 5
        Licensing issues when running on managed databases

      Sign up to add or upvote consMake informed product decisions

      What is OpenTSDB?

      It is a distributed, scalable time series database to store, index & serve metrics collected from computer systems at a large scale. It can store and serve massive amounts of time series data without losing granularity.

      What is TimescaleDB?

      TimescaleDB: An open-source database built for analyzing time-series data with the power and convenience of SQL — on premise, at the edge, or in the cloud.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use OpenTSDB?
      What companies use TimescaleDB?
      See which teams inside your own company are using OpenTSDB or TimescaleDB.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with OpenTSDB?
      What tools integrate with TimescaleDB?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      Jan 26 2022 at 4:34AM

      Pinterest

      Amazon EC2RocksDBOpenTSDB+3
      3
      720
      What are some alternatives to OpenTSDB and TimescaleDB?
      Prometheus
      Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.
      Druid
      Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations.
      KairosDB
      KairosDB is a fast distributed scalable time series database written on top of Cassandra.
      InfluxDB
      InfluxDB is a scalable datastore for metrics, events, and real-time analytics. It has a built-in HTTP API so you don't have to write any server side code to get up and running. InfluxDB is designed to be scalable, simple to install and manage, and fast to get data in and out.
      Graphite
      Graphite does two things: 1) Store numeric time-series data and 2) Render graphs of this data on demand
      See all alternatives