bob
bob copied to clipboard
Distributed BLOB storage
Closes #589
This copy gives tiny but visible performance degradation. This will require changes in Pearl. https://github.com/qoollo/bob/blob/master/bob-backend/src/pearl/holder.rs#L220
Use HashMap instead of iteration where possible (example: `get_operation` at https://github.com/qoollo/bob/blob/master/bob-common/src/mapper.rs#L184). Avoid data cloning where possible (example: `DiskPath::from` at https://github.com/qoollo/bob/blob/master/bob-common/src/data.rs#L283)
Closes #573
In production environment, Bob consumes 27 Gb of memory. According to metrics, memory consumption for indexes is 6 Gb and memory consumption for Bloom filters is 15 Gb. So 6...
https://github.com/qoollo/bob/blob/master/bob/src/cluster/quorum.rs#L61
In the current implementation, if the local node contains target vdisk, then it first executes local put request (https://github.com/qoollo/bob/blob/master/bob/src/cluster/quorum.rs#L38). Only after its completion it executes put requests to remote nodes...
Roughly ~1.5 times slower than `get`
Currently, `exists` operation waiting for the answer from all nodes. We can improve performance a little bit by waiting for the first `true` result. https://github.com/qoollo/bob/blob/master/bob/src/link_manager.rs#L85