mdbx-doc: clarify ACI for no-sync modes, reformat text.

Change-Id: I56b4f167eb334b4903d121f7cd6f33aa0b612dcd
This commit is contained in:
Leonid Yuriev 2020-02-25 15:01:25 +03:00
parent 4fed2d9fc0
commit 061d3cc8fd
2 changed files with 20 additions and 10 deletions

View File

@ -9,15 +9,25 @@ database, with [permissive license](LICENSE).
_MDBX_ has a specific set of properties and capabilities,
focused on creating unique lightweight solutions with extraordinary performance.
1. Allows **swarm of multi-threaded processes to [ACID]((https://en.wikipedia.org/wiki/ACID))ly read and update** several key-value [maps](https://en.wikipedia.org/wiki/Associative_array) and [multimaps](https://en.wikipedia.org/wiki/Multimap) in a localy-shared database.
1. Allows **swarm of multi-threaded processes to
[ACID]((https://en.wikipedia.org/wiki/ACID))ly read and update** several
key-value [maps](https://en.wikipedia.org/wiki/Associative_array) and
[multimaps](https://en.wikipedia.org/wiki/Multimap) in a localy-shared
database.
2. Provides **extraordinary performance**, minimal overhead through [Memory-Mapping](https://en.wikipedia.org/wiki/Memory-mapped_file) and `Olog(N)` operations costs by virtue of [B+ tree](https://en.wikipedia.org/wiki/B%2B_tree).
2. Provides **extraordinary performance**, minimal overhead through
[Memory-Mapping](https://en.wikipedia.org/wiki/Memory-mapped_file) and
`Olog(N)` operations costs by virtue of [B+
tree](https://en.wikipedia.org/wiki/B%2B_tree).
3. Requires **no maintenance and no crash recovery** since doesn't use [WAL](https://en.wikipedia.org/wiki/Write-ahead_logging), but that might be a caveat for write-intensive workloads.
3. Requires **no maintenance and no crash recovery** since doesn't use
[WAL](https://en.wikipedia.org/wiki/Write-ahead_logging), but that might
be a caveat for write-intensive workloads with durability requirements.
4. **Compact and friendly for fully embeddeding**. Only 25KLOC of `C11`, 64K x86 binary code,
no internal threads neither processes, but implements a simplified variant of the
[Berkeley DB](https://en.wikipedia.org/wiki/Berkeley_DB) and
4. **Compact and friendly for fully embeddeding**. Only 25KLOC of `C11`,
64K x86 binary code, no internal threads neither processes, but
implements a simplified variant of the [Berkeley
DB](https://en.wikipedia.org/wiki/Berkeley_DB) and
[dbm](https://en.wikipedia.org/wiki/DBM_(computing)) API.
5. Enforces [serializability](https://en.wikipedia.org/wiki/Serializability) for

8
mdbx.h
View File

@ -1202,10 +1202,10 @@ LIBMDBX_API const char *mdbx_dump_val(const MDBX_val *key, char *const buf,
* In case single transaction after mdbx_env_sync, you may lose
* transaction itself, but not a whole database.
*
* Nevertheless, MDBX_UTTERLY_NOSYNC provides ACID in case of a application
* crash, and therefore may be very useful in scenarios where data
* durability is not required over a system failure (e.g for short-lived
* data), or if you can ignore such risk.
* Nevertheless, MDBX_UTTERLY_NOSYNC provides ACI (without Durability) in
* case of a application crash, and therefore may be very useful in
* scenarios where data durability is not required over a system failure
* (e.g for short-lived data), or if you can ignore such risk.
*
* MDBX_UTTERLY_NOSYNC flag may be changed at any time using
* mdbx_env_set_flags(), but don't has effect if passed to mdbx_txn_begin()