Skip to content

Commit 36dfa7a

Browse files
committed
doc: README update
1 parent b0d1795 commit 36dfa7a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ To achieve resiliency in the event of a crash or power outage, this library appl
1111
- **[fsync](https://man7.org/linux/man-pages/man2/fsync.2.html)**: Everything is flushed to the disk after a modification, to increase the certainty that data has been persisted to disk.
1212
- **Delayed empty space reclamation**: To avoid growing the data infinitely, the library will reclaim old data and overwrite it with new data when needed. The problem is that after sending the data to the disk by using [fsync](https://man7.org/linux/man-pages/man2/fsync.2.html), the disk could still have an internal cache that can lead to data loss in the case of a power outage. Not having any feedback mechanism for the device to notify us about this cache flush, the only way that we can *ensure* data persistency to the disk is with *time*. After a section of data is freed to reuse, the library will wait a configurable amount of time before reclaiming the data for overwriting.
1313

14-
With all these measures, the data integrity and consistency is guaranteed.
14+
With all these measures, the data integrity and consistency is guaranteed. They are explained in detail (and with animations) [in this post](https://medium.com/@Llorx/this-one-flaw-could-destroy-your-data-an-analysis-on-resilient-data-persistence-node-js-cd33d8835346).
1515

1616
# Limits
1717

0 commit comments

Comments
 (0)