Citus vs TimescaleDB

Get Advice Icon

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

Citus
Citus

35
41
+ 1
8
TimescaleDB
TimescaleDB

77
104
+ 1
26
Add tool

Citus vs TimescaleDB: What are the differences?

Developers describe Citus as "Worry-free Postgres for SaaS. Built to scale out". Citus is worry-free Postgres for SaaS. Made to scale out, Citus is an extension to Postgres that distributes queries across any number of servers. Citus is available as open source, as on-prem software, and as a fully-managed service. On the other hand, TimescaleDB is detailed as "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.

Citus and TimescaleDB belong to "Databases" category of the tech stack.

Some of the features offered by Citus are:

  • Multi-Node Scalable PostgreSQL
  • Built-in Replication and High Availability
  • Real-time Reads/Writes On Multiple Nodes

On the other hand, TimescaleDB provides the following key features:

  • Packaged as a PostgreSQL extension
  • Full ANSI SQL
  • JOINs (e.g., across PostgreSQL tables)

Citus and TimescaleDB are both open source tools. It seems that TimescaleDB with 7.28K GitHub stars and 385 forks on GitHub has more adoption than Citus with 3.64K GitHub stars and 273 GitHub forks.

What is Citus?

It's an extension to Postgres that distributes data and queries in a cluster of multiple machines. Its query engine parallelizes incoming SQL queries across these servers to enable human real-time (less than a second) responses on large datasets.

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.
Get Advice Icon

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

Why do developers choose Citus?
Why do developers choose TimescaleDB?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
      Be the first to leave a con
      What companies use Citus?
      What companies use TimescaleDB?

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

      What tools integrate with Citus?
      What tools integrate with TimescaleDB?

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

      What are some alternatives to Citus and TimescaleDB?
      CockroachDB
      It allows you to deploy a database on-prem, in the cloud or even across clouds, all as a single store. It is a simple and straightforward bridge to your future, cloud-based data architecture.
      MySQL
      The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
      PostgreSQL
      PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
      MongoDB
      MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
      Microsoft SQL Server
      Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.
      See all alternatives
      Decisions about Citus and TimescaleDB
      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 16 upvotes · 58K views
      atHeapHeap
      PostgreSQL
      PostgreSQL
      Citus
      Citus
      #DataStores
      #Databases

      PostgreSQL was an easy early decision for the founding team. The relational data model fit the types of analyses they would be doing: filtering, grouping, joining, etc., and it was the database they knew best.

      Shortly after adopting PG, they discovered Citus, which is a tool that makes it easy to distribute queries. Although it was a young project and a fork of Postgres at that point, Dan says the team was very available, highly expert, and it wouldn’t be very difficult to move back to PG if they needed to.

      The stuff they forked was in query execution. You could treat the worker nodes like regular PG instances. Citus also gave them a ton of flexibility to make queries fast, and again, they felt the data model was the best fit for their application.

      #DataStores #Databases

      See more
      Dan Robinson
      Dan Robinson
      at Heap, Inc. · | 14 upvotes · 98.5K views
      atHeapHeap
      Heap
      Heap
      Citus
      Citus
      PostgreSQL
      PostgreSQL
      Kafka
      Kafka
      Node.js
      Node.js
      #MessageQueue
      #Databases
      #FrameworksFullStack

      At Heap, we searched for an existing tool that would allow us to express the full range of analyses we needed, index the event definitions that made up the analyses, and was a mature, natively distributed system.

      After coming up empty on this search, we decided to compromise on the “maturity” requirement and build our own distributed system around Citus and sharded PostgreSQL. It was at this point that we also introduced Kafka as a queueing layer between the Node.js application servers and Postgres.

      If we could go back in time, we probably would have started using Kafka on day one. One of the biggest benefits in adopting Kafka has been the peace of mind that it brings. In an analytics infrastructure, it’s often possible to make data ingestion idempotent.

      In Heap’s case, that means that, if anything downstream from Kafka goes down, we won’t lose any data – it’s just going to take a bit longer to get to its destination. We also learned that you want the path between data hitting your servers and your initial persistence layer (in this case, Kafka) to be as short and simple as possible, since that is the surface area where a failure means you can lose customer data. We learned that it’s a very good fit for an analytics tool, since you can handle a huge number of incoming writes with relatively low latency. Kafka also gives you the ability to “replay” the data flow: it’s like a commit log for your whole infrastructure.

      #MessageQueue #Databases #FrameworksFullStack

      See more
      John Kodumal
      John Kodumal
      CTO at LaunchDarkly · | 16 upvotes · 559K views
      atLaunchDarklyLaunchDarkly
      Amazon RDS
      Amazon RDS
      PostgreSQL
      PostgreSQL
      TimescaleDB
      TimescaleDB
      Patroni
      Patroni
      Consul
      Consul
      Amazon ElastiCache
      Amazon ElastiCache
      Amazon EC2
      Amazon EC2
      Redis
      Redis
      Amazon Kinesis
      Amazon Kinesis
      Kafka
      Kafka

      As we've evolved or added additional infrastructure to our stack, we've biased towards managed services. Most new backing stores are Amazon RDS instances now. We do use self-managed PostgreSQL with TimescaleDB for time-series data—this is made HA with the use of Patroni and Consul.

      We also use managed Amazon ElastiCache instances instead of spinning up Amazon EC2 instances to run Redis workloads, as well as shifting to Amazon Kinesis instead of Kafka.

      See more
      Mauro Bennici
      Mauro Bennici
      CTO at You Are My GUide · | 7 upvotes · 29.3K views
      atYou Are My GUideYou Are My GUide
      PostgreSQL
      PostgreSQL
      TimescaleDB
      TimescaleDB
      MongoDB
      MongoDB

      PostgreSQL plus TimescaleDB allow us to concentrate the business effort on how to analyze valuable data instead of manage them on IT side. We are now able to ingest thousand of social shares "managed" data without compromise the scalability of the system or the time query. TimescaleDB is transparent to PostgreSQL , so we continue to use the same SQL syntax without any changes. At the same time, because we need to manage few document objects we dismissed the MongoDB cluster.

      See more
      Interest over time
      Reviews of Citus and TimescaleDB
      No reviews found
      How developers use Citus and TimescaleDB
      No items found
      How much does Citus cost?
      How much does TimescaleDB cost?
      News about TimescaleDB
      More news