-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use historical nodes to host shared cache #7570
Comments
awesome idea Since then my mind keeps coming back to the thought how great it would be for many usecases if Druid had an underlying colocated cache. |
It seems for this case it would be nice to choose a 'small' (few dependencies) and embeddable (same JVM as the historical) distributed cache. Is Ignite like that? (Or are there others that are?) |
Historical nodes are designed for restarts, including restarts of large groups of nodes nearly at the same time. We don't want such restarts to disrupt the quality of service. So the cache should be replicated at least 2x. This requirement makes simple local embeddable cache insufficient (unless we want to basically solve again all the hard problems with reliable replicated cluster services). So Ignite looks to me like a more reasonable solution. @devozerov would appreciate your opinion. |
A related paper: https://blog.acolyer.org/2019/06/24/fast-key-value-stores/ |
There is an idea that instead of memcached, historical nodes themselves can be used to host shared, not only their local cache. Since there are a lot of them, only a small fraction of each historical node's memory can be devoted to the shared cache.
Such colocation can also simplify Druid setup because no separate fleet of memcached nodes would be required.
The text was updated successfully, but these errors were encountered: