Apache Flink VS Druid

Compare Apache Flink vs Druid and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Apache Flink Druid
9 24
23,158 13,188
1.2% 0.6%
9.9 9.9
1 day ago 5 days ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apache Flink

Posts with mentions or reviews of Apache Flink. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-15.
  • First 15 Open Source Advent projects
    16 projects | dev.to | 15 Dec 2023
    7. Apache Flink | Github | tutorial
  • Pyflink : Flink DataStream (KafkaSource) API to consume from Kafka
    1 project | /r/dataengineering | 13 May 2023
    Does anyone have fully running Pyflink code snippet to read from Kafka using the new Flink DataStream (KafkaSource) API and just print out the output to console or write it out to a file. Most of the examples and the official Flink GitHubare using the old API (FlinkKafkaConsumer).
  • I keep getting build failure when I try to run mvn clean compile package
    2 projects | /r/AskProgramming | 8 Apr 2023
    I'm trying to use https://github.com/mauricioaniche/ck to analyze the ck metrics of https://github.com/apache/flink. I have the latest version of java downloaded and I have the latest version of apache maven downloaded too. My environment variables are set correctly. I'm in the correct directory as well. However, when I run mvn clean compile package in powershell it always says build error. I've tried looking up the errors but there's so many. https://imgur.com/a/Zk8Snsa I'm very new to programming in general so any suggestions would be appreciated.
  • How do I determine what the dependencies are when I make pom.xml file?
    1 project | /r/AskProgramming | 7 Apr 2023
    Looking at the project on github, it seems like they should have a pom in the root dir https://github.com/apache/flink/blob/master/pom.xml
  • Akka is moving away from Open Source
    1 project | /r/scala | 7 Sep 2022
    Akka is used only as a possible RPC implementation, isn't it?
  • We Are Changing the License for Akka
    6 projects | news.ycombinator.com | 7 Sep 2022
  • DeWitt Clause, or Can You Benchmark %DATABASE% and Get Away With It
    21 projects | dev.to | 2 Jun 2022
    Apache Drill, Druid, Flink, Hive, Kafka, Spark
  • Computation reuse via fusion in Amazon Athena
    2 projects | news.ycombinator.com | 20 May 2022
    It took me some time to get a good grasp of the power of SQL; and it really kicked in when I learned about optimization rules. It's a program that you rewrite, just like an optimizing compiler would.

    You state what you want; you have different ways to fetch and match and massage data; and you can search through this space to produce a physical plan. Hopefully you used knowledge to weight parts to be optimized (table statistics, like Java's JIT would detect hot spots).

    I find it fascinating to peer through database code to see what is going on. Lately, there's been new advances towards streaming databases, which bring a whole new design space. For example, now you have latency of individual new rows to optimize for, as opposed to batch it whole to optimize the latency of a dataset. Batch scanning will be benefit from better use of your CPU caches.

    And maybe you could have a hybrid system which reads history from a log and aggregates in a batched manner, and then switches to another execution plan when it reaches the end of the log.

    If you want to have a peek at that here are Flink's set of rules [1], generic and stream-specific ones. The names can be cryptic, but usually give a good sense of what is going on. For example: PushFilterIntoTableSourceScanRule makes the WHERE clause apply the earliest possible, to save some CPU/network bandwidth further down. PushPartitionIntoTableSourceScanRule tries to make a fan-out/shuffle happen the earliest possible, so that parallelism can be made use of.

    [1] https://github.com/apache/flink/blob/5f8fb304fb5d68cdb0b3e3c...

  • Avro SpecificRecord File Sink using apache flink is not compiling due to error incompatible types: FileSink<?> cannot be converted to SinkFunction<?>
    3 projects | /r/apacheflink | 14 Sep 2021
    [1]: https://mvnrepository.com/artifact/org.apache.avro/avro-maven-plugin/1.8.2 [2]: https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/sink/FileSink.java [3]: https://ci.apache.org/projects/flink/flink-docs-master/docs/connectors/datastream/file_sink/ [4]: https://github.com/apache/flink/blob/c81b831d5fe08d328251d91f4f255b1508a9feb4/flink-end-to-end-tests/flink-file-sink-test/src/main/java/FileSinkProgram.java [5]: https://github.com/rajcspsg/streaming-file-sink-demo

Druid

Posts with mentions or reviews of Druid. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-28.
  • How to choose the right type of database
    15 projects | dev.to | 28 Feb 2024
    Apache Druid: Focused on real-time analytics and interactive queries on large datasets. Druid is well-suited for high-performance applications in user-facing analytics, network monitoring, and business intelligence.
  • Choosing Between a Streaming Database and a Stream Processing Framework in Python
    10 projects | dev.to | 10 Feb 2024
    Online analytical processing (OLAP) databases like Apache Druid, Apache Pinot, and ClickHouse shine in addressing user-initiated analytical queries. You might write a query to analyze historical data to find the most-clicked products over the past month efficiently using OLAP databases. When contrasting with streaming databases, they may not be optimized for incremental computation, leading to challenges in maintaining the freshness of results. The query in the streaming database focuses on recent data, making it suitable for continuous monitoring. Using streaming databases, you can run queries like finding the top 10 sold products where the “top 10 product list” might change in real-time.
  • Show HN: The simplest tiny analytics tool – storywise
    3 projects | news.ycombinator.com | 18 Jul 2023
    https://github.com/apache/druid

    It's always a question of tradeoffs.

    The awesome-selfhosted project has a nice list of open-source analytics projects. It's really good inspiration to dig into these projects and find out about the technology choices that other open-source tools in the space have made.

  • Analysing Github Stars - Extracting and analyzing data from Github using Apache NiFi®, Apache Kafka® and Apache Druid®
    8 projects | dev.to | 11 Jan 2023
    Spencer Kimball (now CEO at CockroachDB) wrote an interesting article on this topic in 2021 where they created spencerkimball/stargazers based on a Python script. So I started thinking: could I create a data pipeline using Nifi and Kafka (two OSS tools often used with Druid) to get the API data into Druid - and then use SQL to do the analytics? The answer was yes! And I have documented the outcome below. Here’s my analytical pipeline for Github stars data using Nifi, Kafka and Druid.
  • Apache Druid® - an enterprise architect's overview
    1 project | dev.to | 15 Dec 2022
    Apache Druid is part of the modern data architecture. It uses a special data format designed for analytical workloads, using extreme parallelisation to get data in and get data out. A shared-nothing, microservices architecture helps you to build highly-available, extreme scale analytics features into your applications.
  • Real Time Data Infra Stack
    15 projects | dev.to | 4 Dec 2022
    Apache Druid
  • When you should use columnar databases and not Postgres, MySQL, or MongoDB
    5 projects | dev.to | 25 Oct 2022
    But then you realize there are other databases out there focused specifically on analytical use cases with lots of data and complex queries. Newcomers like ClickHouse, Pinot, and Druid (all open source) respond to a new class of problem: The need to develop applications using endpoints published on analytical queries that were previously confined only to the data warehouse and BI tools.
  • Druids by Datadog
    6 projects | news.ycombinator.com | 20 Sep 2022
    Datadog's product is a bit too close to Apache Druid to have named their design system so similarly.

    From https://druid.apache.org/ :

    > Druid unlocks new types of queries and workflows for clickstream, APM, supply chain, network telemetry, digital marketing, risk/fraud, and many other types of data. Druid is purpose built for rapid, ad-hoc queries on both real-time and historical data.

  • Mom at 54 is thinking about coding and a complete career shift. Thoughts?
    2 projects | /r/cscareerquestions | 18 Sep 2022
    Maybe rare for someone to be seeking their first coding job at that age. But plenty of us are in our 50s or older and still coding up a storm. And not necessarily ancient tech or anything. My current project exposes analytics data from Apache Druid and Cassandra via Go microservices hosted in K8s.
  • Building an arm64 container for Apache Druid for your Apple Silicon
    4 projects | dev.to | 8 Sep 2022
    Fortunately, it is super easy to build your own leveraging the binary distribution and existing docker.sh.

What are some alternatives?

When comparing Apache Flink and Druid you can also consider the following projects:

Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)

iced - A cross-platform GUI library for Rust, inspired by Elm

Deeplearning4j - Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learning using automatic differentiation.

cube.js - 📊 Cube — The Semantic Layer for Building Data Applications

Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing

Apache Cassandra - Mirror of Apache Cassandra

H2O - Sparkling Water provides H2O functionality inside Spark cluster

Apache HBase - Apache HBase

Scio - A Scala API for Apache Beam and Google Cloud Dataflow.

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

Apache Kafka - Mirror of Apache Kafka

Scylla - NoSQL data store using the seastar framework, compatible with Apache Cassandra