From 061d3cc8fd7e4de3f64e66d8dcdb67bd40afd423 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Tue, 25 Feb 2020 15:01:25 +0300 Subject: [PATCH] mdbx-doc: clarify ACI for no-sync modes, reformat text. Change-Id: I56b4f167eb334b4903d121f7cd6f33aa0b612dcd --- README.md | 22 ++++++++++++++++------ mdbx.h | 8 ++++---- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4cbea049..ed2d3a98 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/mdbx.h b/mdbx.h index 8070ce66..36fd079d 100644 --- a/mdbx.h +++ b/mdbx.h @@ -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()