Crates.io | aol |
lib.rs | aol |
version | 0.0.0 |
source | src |
created_at | 2024-06-19 16:37:23.392192 |
updated_at | 2024-06-19 16:37:23.392192 |
description | Generic purpose append only log implementation. |
homepage | https://github.com/al8n/aol |
repository | https://github.com/al8n/aol |
max_upload_size | |
id | 1277100 |
size | 133,997 |
WIP: this crate has not been tested yet, still in actively development.
When developing infrastructure softwares, write-ahead log or append-only log plays an important role, and people re-implement same
funcationalities multiple times, but actually, the core for append-only log is just write
, replay
, and rewrite
.
This crate provides generic purpose append-only log implementation, there are three kinds of implementations based on std::fs::File
,
memory map, lockfree ARENA (SkipMap).
aol::fs::AppendLog
:
Generic append-only log implementation based on std::fs::File
.
It is good for:
64
bytes.Pros:
aol::memmap::AppendLog
:
Generic append-only log implementation based on memmap
.
It is good for:
Pros:
aol::memmap::sync::AppendLog
:
Generic append-only log implementation based on lockfree ARENA based skl::SkipMap
(support both in-memory and on-disk).
It is good for:
4GB
.Pros:
no_std
environment.[dependencies]
aol = "0.0.0"
aol
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.