mirror of
https://github.com/isar/libmdbx.git
synced 2024-10-29 23:19:20 +08:00
mdbx-doc: clarify ACI for no-sync modes, reformat text.
Change-Id: I56b4f167eb334b4903d121f7cd6f33aa0b612dcd
This commit is contained in:
parent
4fed2d9fc0
commit
061d3cc8fd
22
README.md
22
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
|
||||
|
8
mdbx.h
8
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()
|
||||
|
Loading…
Reference in New Issue
Block a user