|
|
|
|
|
by bazizbaziz
2799 days ago
|
|
> When a value is retrieved via its key, IronDB...
> Looks up that key in every store.
> Counts each unique, returned value.
> Determines the most commonly returned value as the 'correct' value.
> Returns this most common correct value
> Then IronDB self heals: if any store(s) returned a value different than the determined correct value, or no value at all, the correct value is rewritten to that store. In this way, consensus, reliability, and redundancy is maintained. I'm not sure any of these properties are ensured the way anyone would want. Why do this? What are the failure modes this protects against? If only one of the backing stores is active when a result is written, and then the others later become active with no data, is blank data returned for the prior result? It seems like recording timestamps would fix this problem nicely on a single system and make this thing overall quite reliable. |
|
See my other comment, here: https://news.ycombinator.com/item?id=18297177
I'll explicate this in the documentation. Thank you for your feedback, bazizbaziz.