Druid: A Real-Time Analytical Data Store
micahlerner.com
micahlerner.com
Anecdotally, I've heard that ClickHouse is easier to deploy from this perspective with similar performance, but would love to get others views / experience with these and similar data stores.
Especially since ingestion goes straight to S3. We don’t really worry about backups (just deal with PG backups).
Just make sure your ZK is happy and all will be well.
The hard part about Druid is tuning:
- the ingestions: Spec definition, compaction, sharding strategy, RAM consumptions, etc.
- and query performance: RAM consumptions, number of threads, timeouts, etc.
And it was hard to find examples of configuration, ingestion other than basic tutorials
Architecturally, It is easier to visualize this two big group:
- query serving: coordinator, historical, broker
- ingestion: overlord, middlemanager
router unifies all of Druid API together.
I would start with the Helm chart to get some basic idea on tunings.
That sounds like the opposite of easy to setup (and maintain).
It's actually quite nice - because since everything is stored on GCS/S3, it is mostly self healing, we can treat the historical as cattle and not pets.
We also run clickhouse, and unfortunately the above is not true - at least in our setup.
We started experiencing some issues with data duplication with ClickHouse when we moved our table to a Sharded+Replicated setup.
Optimize with DEDUPLICATE helped us a lot.. and we can just run this on a Partition instead of the full table.
https://clickhouse.com/docs/en/sql-reference/statements/opti...
ClickHouse is a very powerful system but it's not just setup and forget type.
Running it at scale is different. It includes everything you need, and it’s not horrible of course - but there are certainly a lot of sharp edges to be mindful of.
Maybe situation is better with clusters and Kafka moving away from zookeeper.
Having worked in the space for a few years, druid is very fast when you know exactly what you're doing. Until you reach that point, you're going to have a bad time. And if you try to run it yourself under kubernetes you're going to have a really bad bad time. Druid is amazingly fast, but no development effort is going into making it easier to run.
Suprised to see comments on this thread saying they are running druid on kubernetes with no issues at all.
join support is bad for clickhouse. For apache doris, performance and join is better than clickhouse.