Skip to content

Commit aee7115

Browse files
authored
Update README.md. (#8)
* Update. * Update README.md * Update. * Update
1 parent 24d2b42 commit aee7115

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

README.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,41 @@
66

77
# PawnDB
88

9-
A lightweight, type-safe in-memory database optimized for OLTP workloads.
9+
An **ultra lightweight & fast**, **portable** & **type-safe** in-memory database optimized for OLTP workloads.
10+
11+
[PawnDB Wiki](https://github.com/xiahualiu/PawnDB/wiki)
12+
13+
[PawnDB Doxygen Docs](https://xiahualiu.github.io/PawnDB/)
1014

1115
## Features
1216

1317
### Memory Management
14-
- Zero heap allocation design
15-
- Static memory allocation
16-
- Built-in buffer pool management
17-
- RAII buffer object with reference counting
18-
- Maximum tuple size: 65535 bytes (UDP packet size limit)
18+
- Built-in buffer pool management.
19+
- No dynamic memory allocation system call (`malloc` or `new`) used.
1920

2021
### Transaction Management
21-
- Strict 2-Phase Locking (2PL)
22-
- Tuple-level shared/exclusive locks
23-
- Support lock promotion
24-
- ACID compliance
25-
- Single record operations
22+
- Strict 2-Phase Locking (2PL).
23+
- Tuple-level shared/exclusive locks.
24+
- Support lock promotion.
25+
- ACID compliance.
26+
- Single record operations.
2627
- Deadlock prevention.
2728

2829
### Type Safety
29-
- Compile-time type checking
30-
- Zero dynamic dispatch
31-
- No virtual functions
32-
- Strong type system
30+
- Compile-time type checking.
31+
- CRTP design pattern, does not use `virtual` functions.
32+
- No complicated inheritance due to Mixin pattern used.
33+
34+
### Portable & Extendable
35+
- Can be used with external data serializer such as [Protobuf](https://github.com/protocolbuffers/protobuf).
36+
- Fully portable based on C++17 standard library.
37+
- Multi-thread based on `std::thread`.
38+
- No 3rd party code & license involved.
39+
- *Also requires Posix Domain Socket support for client communication.*
3340

3441
## Language
3542

36-
* PawnDB is written in [ISO C++17](https://isocpp.org/std/the-standard), without compiler extensions.
43+
* PawnDB is written in [ISO C++17](https://isocpp.org/std/the-standard), without any compiler extensions.
3744
* PawnDB follows [Google coding style](https://google.github.io/styleguide/).
3845

3946
## License

0 commit comments

Comments
 (0)