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

Graphite

390
420
+ 1
42
InfluxDB

1K
1.2K
+ 1
175
Add tool

Graphite vs InfluxDB: What are the differences?

Key Differences between Graphite and InfluxDB

1. Scalability: Graphite has limitations in terms of scalability due to its architecture, which relies on carbon-cache and Whisper as the storage engine. In contrast, InfluxDB is designed to handle high volumes of data with its efficient storage engine and distributed architecture, making it more scalable for large-scale deployments.

2. Data Model: Graphite follows a hierarchical data model where metrics are organized into a directory-like structure, and each metric has a separate database file. InfluxDB, on the other hand, adopts a tag-based data model, allowing flexible organization and efficient querying of data with tags representing metadata.

3. Query Language: Graphite uses the Graphite Query Language (GQL) for querying and manipulating data, which has a limited set of functions and operations. InfluxDB, on the other hand, utilizes its own query language called InfluxQL, which offers a more extensive range of functions, joins, and aggregations for complex data analysis.

4. Schema Flexibility: In Graphite, the schema for metrics is predefined and requires manual configuration for changes. InfluxDB, in contrast, offers schema flexibility as it allows data to be written without predefined tables or columns, making it easier to adapt to changing data structures.

5. Additional Features: InfluxDB provides several additional features that are not available in Graphite. This includes built-in support for continuous queries, retention policies, and authentication. InfluxDB also has integrations with popular visualization and alerting tools, making it more suitable for comprehensive monitoring and analytics solutions.

6. Write and Query Performance: InfluxDB is known for its high write and query performance due to its efficient storage engine and indexing. It can handle millions of data points per second and provide fast response times for queries even on large datasets. Graphite, although adequate for small-scale deployments, may face performance limitations when dealing with high write and query loads.

In Summary, Graphite and InfluxDB differ in terms of scalability, data model, query language, schema flexibility, additional features, and performance, making each suitable for specific use cases depending on the requirements.

Advice on Graphite and InfluxDB
Susmita Meher
Senior SRE at African Bank · | 4 upvotes · 829.9K views
Needs advice
on
GrafanaGrafanaGraphiteGraphite
and
PrometheusPrometheus

Looking for a tool which can be used for mainly dashboard purposes, but here are the main requirements:

  • Must be able to get custom data from AS400,
  • Able to display automation test results,
  • System monitoring / Nginx API,
  • Able to get data from 3rd parties DB.

Grafana is almost solving all the problems, except AS400 and no database to get automation test results.

See more
Replies (1)
Sakti Behera
Technical Specialist, Software Engineering at AT&T · | 3 upvotes · 615.5K views
Recommends
on
GrafanaGrafanaPrometheusPrometheus

You can look out for Prometheus Instrumentation (https://prometheus.io/docs/practices/instrumentation/) Client Library available in various languages https://prometheus.io/docs/instrumenting/clientlibs/ to create the custom metric you need for AS4000 and then Grafana can query the newly instrumented metric to show on the dashboard.

See more
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 · 350.1K 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 Graphite and InfluxDB
Benoit Larroque
Principal Engineer at Sqreen · | 2 upvotes · 143.9K 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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Graphite
Pros of InfluxDB
  • 16
    Render any graph
  • 9
    Great functions to apply on timeseries
  • 8
    Well supported integrations
  • 6
    Includes event tracking
  • 3
    Rolling aggregation makes storage managable
  • 59
    Time-series data analysis
  • 30
    Easy setup, no dependencies
  • 24
    Fast, scalable & open source
  • 21
    Open source
  • 20
    Real-time analytics
  • 6
    Continuous Query support
  • 5
    Easy Query Language
  • 4
    HTTP API
  • 4
    Out-of-the-box, automatic Retention Policy
  • 1
    Offers Enterprise version
  • 1
    Free Open Source version

Sign up to add or upvote prosMake informed product decisions

Cons of Graphite
Cons of InfluxDB
    Be the first to leave a con
    • 4
      Instability
    • 1
      Proprietary query language
    • 1
      HA or Clustering is only in paid version

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Graphite?

    Graphite does two things: 1) Store numeric time-series data and 2) Render graphs of this data on demand

    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.

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

    What companies use Graphite?
    What companies use InfluxDB?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

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

    What tools integrate with Graphite?
    What tools integrate with InfluxDB?

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

    Blog Posts

    Jun 26 2018 at 3:26AM

    Twilio SendGrid

    GitHubDockerKafka+10
    11
    10026
    JavaScriptGitHubNode.js+29
    14
    13627
    What are some alternatives to Graphite and InfluxDB?
    Grafana
    Grafana is a general purpose dashboard and graph composer. It's focused on providing rich ways to visualize time series metrics, mainly though graphs but supports other ways to visualize data through a pluggable panel architecture. It currently has rich support for for Graphite, InfluxDB and OpenTSDB. But supports other data sources via plugins.
    Graphene
    Graphene is a Python library for building GraphQL schemas/types fast and easily.
    Pencil
    A web application microframework for Rust
    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.
    New Relic
    The world’s best software and DevOps teams rely on New Relic to move faster, make better decisions and create best-in-class digital experiences. If you run software, you need to run New Relic. More than 50% of the Fortune 100 do too.
    See all alternatives