orderwal

Crates.ioorderwal
lib.rsorderwal
version
sourcesrc
created_at2024-09-14 12:41:44.528757
updated_at2024-11-02 17:12:36.226477
descriptionA generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, Write-Ahead Log implementation for Rust.
homepagehttps://github.com/al8n/orderwal
repositoryhttps://github.com/al8n/orderwal
max_upload_size
id1374737
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Al Liu (al8n)

documentation

https://docs.rs/orderwal

README

OrderWAL

A generic-purpose, atomic, ordered, zero-copy read, zero-cost (in-place) write, 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 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)

    [dependencies]
    orderwal = "0.5"
    
  • std only (without on-disk support)

    [dependencies]
    orderwal = { version = "0.5", default-features = false, features = ["std"] } 
    
  • no-std (alloc required)

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

Example

See examples for more information.

Related projects

  • 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.
  • valog: A lock-free, generic, lightweight value log for WiscKey or Bitcask architecture databases.
  • 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-MIT for details.

Copyright (c) 2024 Al Liu.

Commit count: 27

cargo fmt