Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
feature-backlog
-
None
Description
In Couchstore, larger write batch size makes the overall write throughput better, since we can reduce the amount of index node updates which occupies a significant portion of the disk bandwidth, for both read and write.
However, front-end side write batch size (from EP-engine) may not be big enough to maximize the write throughput. If we use write-ahead logging (WAL) approach, we can enlarge the internal write batch size while providing the same level of durability, without changing the front-end logic.
To support backward compatibility, and to avoid unnecessary impact on the legacy logic, WAL features will be pluggable; it functions only when Couchstore handle is opened with a pre-defined WAL flag. There will be no change on legacy APIs, and they will work the same as before without the flag.
Detailed design document: https://docs.google.com/document/d/1hVc3lKVrNxuJRm4XkPA5nNXNnz6rZyV92n_n1-9d14w/edit?usp=sharing