#write-ahead-log #wal #append-only #bitcask #log-structured #append-only-log

no-std orderwal

A generic-purpose, atomic, ordered, zero-copy, Write-Ahead Log implementation for Rust

7 unstable releases (3 breaking)

new 0.4.1 Oct 8, 2024
0.4.0 Sep 30, 2024
0.3.2 Sep 28, 2024
0.2.1 Sep 20, 2024
0.1.1 Sep 15, 2024

#140 in Database implementations

Download history 204/week @ 2024-09-09 324/week @ 2024-09-16 138/week @ 2024-09-23 258/week @ 2024-09-30

924 downloads per month

MIT/Apache

320KB
8K SLoC

OrderWAL

A generic-purpose, atomic, ordered, zero-copy, Write-Ahead Log implementation for Rust.

github LoC Build codecov

docs.rs crates.io crates.io license

English | 简体中文

Introduction

orderwal is generic-purpose, atomic, ordered, zero-copy, 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

[dependencies]
orderwal = "0.4"

Example

See examples for more information.

  • aol: Yet another generic purpose, append-only write-ahead log implementation based on std::fs::File.
  • 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.

License

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

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2024 Al Liu.

Dependencies

~3–12MB
~154K SLoC