An open API service indexing awesome lists of open source software.

https://github.com/al8n/orderwal

A generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, Write-Ahead Log implementation for Rust.
https://github.com/al8n/orderwal

append-only append-only-log rust wal write-ahead-log

Last synced: about 1 year ago
JSON representation

A generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, Write-Ahead Log implementation for Rust.

Awesome Lists containing this project

README

          


OrderWAL



A generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, Write-Ahead Log implementation for Rust.

[github][Github-url]
LoC
[Build][CI-url]
[codecov][codecov-url]

[docs.rs][doc-url]
[crates.io][crates-url]
[crates.io][crates-url]
license

English | [简体中文][zh-cn-url]

## Introduction

`orderwal` is generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, concurrent-safe, pre-allocate style (memory map) write-ahead-log for developing databases.

`orderwal` also supports generic structured key and value types, which is not limited to just bytes like other implementations.

## Installation

- Default (with on-disk support)

```toml
[dependencies]
orderwal = "0.5"
```

- `std` only (without on-disk support)

```toml
[dependencies]
orderwal = { version = "0.5", default-features = false, features = ["std"] }
```

- `no-std` (`alloc` required)

```toml
[dependencies]
orderwal = { version = "0.5", default-features = false, features = ["alloc"] }
```

## Example

See [examples](./examples/) for more information.

## Related projects

- [`aol`](https://github.com/al8n/aol): Yet another generic purpose, append-only write-ahead log implementation based on `std::fs::File`.
- [`skl`](https://github.com/al8n/skl): A lock-free, ARNEA based skiplist implementation, which supports in-memory and on-disk, suitable for frozen durable data file or memtable for LSM database.
- [`valog`](https://github.com/al8n/valog): A lock-free, generic, lightweight value log for WiscKey or Bitcask architecture databases.
- [`dtlog`](https://github.com/al8n/dtlog): A log for tracking discard stats of multi-files databases.

#### License

`orderwal` is under the terms of both the MIT license and the
Apache License (Version 2.0).

See [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details.

Copyright (c) 2024 Al Liu.

[Github-url]: https://github.com/al8n/orderwal/
[CI-url]: https://github.com/al8n/orderwal/actions/workflows/ci.yml
[doc-url]: https://docs.rs/orderwal
[crates-url]: https://crates.io/crates/orderwal
[codecov-url]: https://app.codecov.io/gh/al8n/orderwal/
[zh-cn-url]: https://github.com/al8n/orderwal/tree/main/README-zh_CN.md