Need advice about which tool to choose?Ask the StackShare community!
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.
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.
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.
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 Graphite
- Render any graph16
- Great functions to apply on timeseries9
- Well supported integrations8
- Includes event tracking6
- Rolling aggregation makes storage managable3
Pros of InfluxDB
- Time-series data analysis59
- Easy setup, no dependencies30
- Fast, scalable & open source24
- Open source21
- Real-time analytics20
- Continuous Query support6
- Easy Query Language5
- HTTP API4
- Out-of-the-box, automatic Retention Policy4
- Offers Enterprise version1
- Free Open Source version1
Sign up to add or upvote prosMake informed product decisions
Cons of Graphite
Cons of InfluxDB
- Instability4
- Proprietary query language1
- HA or Clustering is only in paid version1