Citus vs InfluxDB

Get Advice Icon

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

Citus
Citus

28
26
+ 1
8
InfluxDB
InfluxDB

477
314
+ 1
112
Add tool

Citus vs InfluxDB: What are the differences?

Citus: 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; InfluxDB: An open-source distributed time series database with no external dependencies. 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..

Citus and InfluxDB can be primarily classified as "Databases" tools.

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, InfluxDB provides the following key features:

  • Time-Centric Functions
  • Scalable Metrics
  • Events

"Multi-core Parallel Processing" is the top reason why over 3 developers like Citus, while over 36 developers mention "Time-series data analysis" as the leading cause for choosing InfluxDB.

Citus and InfluxDB are both open source tools. InfluxDB with 16.7K GitHub stars and 2.38K forks on GitHub appears to be more popular 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 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.
Get Advice Icon

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

Why do developers choose Citus?
Why do developers choose InfluxDB?

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

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

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

    What tools integrate with Citus?
    What tools integrate with InfluxDB?

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

    What are some alternatives to Citus and InfluxDB?
    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.
    CockroachDB
    Cockroach Labs is the company building CockroachDB, an open source, survivable, strongly consistent, scale-out SQL database.
    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.
    See all alternatives
    Decisions about Citus and InfluxDB
    Dan Robinson
    Dan Robinson
    at Heap, Inc. · | 16 upvotes · 53.6K views
    atHeapHeap
    Citus
    Citus
    PostgreSQL
    PostgreSQL
    #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 · 46.3K views
    atHeapHeap
    Heap
    Heap
    Node.js
    Node.js
    Kafka
    Kafka
    PostgreSQL
    PostgreSQL
    Citus
    Citus
    #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
    Interest over time
    Reviews of Citus and InfluxDB
    Review ofInfluxDBInfluxDB

    Influx doesn't currently natively support horizontal distribution. Hard to recommend it until they implement that.

    Avatar of YaronWittenstein
    Computer Science
    Review ofInfluxDBInfluxDB

    InfluxDB is a game changer

    How developers use Citus and InfluxDB
    Avatar of ShadowICT
    ShadowICT uses InfluxDBInfluxDB

    We use InfluxDB as a store for our data that gets fed into Grafana. It's ideal for this as it's a lightweight storage engine that can be modified on the fly by scripts without having to log into the server itself and manage tables. The HTTP API also makes it ideal for integrating with frontend services.

    Avatar of Goyoboard
    Goyoboard uses InfluxDBInfluxDB

    To track time-series of course, utilizing few retention rules and continuous queries to keep time-series data fast and maintanable

    Avatar of sapslaj
    sapslaj uses InfluxDBInfluxDB

    InfluxDB ingests information from various sources (mostly Telegraf instances) into one place for monitoring purposes.

    Avatar of Chris Hartwig
    Chris Hartwig uses InfluxDBInfluxDB

    All our metrics go through InfluxDB, both applicative and system

    How much does Citus cost?
    How much does InfluxDB cost?
    Pricing unavailable