Skip to content

Commit f708d11

Browse files
committed
Improve documentation
1 parent 8851acb commit f708d11

File tree

2 files changed

+20
-26
lines changed

2 files changed

+20
-26
lines changed

README.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
[![Hex Docs](https://img.shields.io/badge/hex-docs-blue.svg)](https://hexdocs.pm/cubdb/)
77
[![License](https://img.shields.io/hexpm/l/cubdb.svg)](https://github.com/lucaong/cubdb/blob/master/LICENSE)
88

9-
`CubDB` is an embedded key-value database written in the Elixir language. It
10-
runs locally, it is schema-less, and backed by a single file.
9+
`CubDB` is an embedded key-value database for the Elixir language. It is
10+
designed for robustness, and for minimal need of resources.
1111

1212
Head to the [API reference](https://hexdocs.pm/cubdb/CubDB.html) for usage
1313
details, or read the [Frequently Asked
@@ -17,24 +17,20 @@ section](https://hexdocs.pm/cubdb/howto.html) for more information.
1717

1818
## Features
1919

20-
- Both keys and values can be any arbitrary Elixir (or Erlang) term.
20+
- Both keys and values can be any Elixir (or Erlang) term.
2121

22-
- Basic `get`, `put`, and `delete` operations, plus more specialized
23-
functions
22+
- Basic `get`, `put`, and `delete` operations, selection of ranges of entries
23+
sorted by key with `select`.
2424

25-
- Performant selection of ranges of entries sorted by key with `select`
25+
- Atomic, Consistent, Isolated, Durable (ACID) transactions.
2626

27-
- Atomic transactions
28-
29-
- Concurrent read operations, that do not block nor are blocked by writes
30-
31-
- Zero cost read-only snapshots to ensure consistency when reading multiple
32-
entries
27+
- Multi version concurrency control (MVCC) allowing concurrent read
28+
operations, that do not block nor are blocked by writes.
3329

3430
- Unexpected shutdowns or crashes won't corrupt the database or break
35-
atomicity
31+
atomicity of transactions.
3632

37-
- Manual or automatic compaction to reclaim disk space
33+
- Manual or automatic compaction to reclaim disk space.
3834

3935
To ensure consistency, performance, and robustness to data corruption, `CubDB`
4036
database file uses an append-only, immutable B-tree data structure. Entries are

lib/cubdb.ex

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
defmodule CubDB do
22
@moduledoc """
3-
`CubDB` is an embedded key-value database written in the Elixir language. It
4-
runs locally, it is schema-less, and backed by a single file.
3+
`CubDB` is an embedded key-value database for the Elixir language. It is
4+
designed for robustness, and for minimal need of resources.
55
66
## Features
77
8-
- Basic `get/3`, `put/3`, and `delete/2` operations, plus more specialized
9-
functions
8+
- Both keys and values can be any Elixir (or Erlang) term.
109
11-
- Performant selection of ranges of entries sorted by key with `select/2`
10+
- Basic `get`, `put`, and `delete` operations, selection of ranges of
11+
entries sorted by key with `select`.
1212
13-
- Atomic transactions
13+
- Atomic, Consistent, Isolated, Durable (ACID) transactions.
1414
15-
- Concurrent read operations, that do not block nor are blocked by writes
16-
17-
- Zero cost read-only snapshots to ensure consistency when reading multiple
18-
entries
15+
- Multi version concurrency control (MVCC) allowing concurrent read
16+
operations, that do not block nor are blocked by writes.
1917
2018
- Unexpected shutdowns or crashes won't corrupt the database or break
21-
atomicity
19+
atomicity of transactions.
2220
23-
- Manual or automatic compaction to reclaim disk space
21+
- Manual or automatic compaction to reclaim disk space.
2422
2523
To ensure consistency, performance, and robustness to data corruption, `CubDB`
2624
database file uses an append-only, immutable B-tree data structure. Entries

0 commit comments

Comments
 (0)