javanosqlhypertable

Hypertable's Mutator vs Shared Mutator (Java)


What is the difference between Mutator and Shared Mutator?

In the specs for Mutator, there is a "flush_interval" (Auto-flush interval in milliseconds; 0 disables it.) parameter.

In the specs for Shared Mutator, it states:

WARNING: Shared mutators sacrifice write durability guarantee because they buffer and flush mutations on a periodic time interval and the set_ methods return without knowing if the mutations succeeded or failed.

Reference

So, what is the difference if both have flush intervals?

Further, are both thread-safe (in Java)?

Also, which is more efficient in terms of performance?


Solution

  • It seems to me that, because the Shared Mutators do not check on the return atatement, that they would run faster and potentially allow several parallel actions. This comes at a trade-off, providing that it does not guarantee success.

    The mutator seems to be more reliable, but it would take more time (with a small file size, the difference would be negligable).

    I will expand this when I have more time