Acid Store

A transactional and deduplicating virtual file system
Alternatives To Acid Store
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
3 years ago6bsd-2-clauseC
self-contained, serverless, zero-configuration, transactional redis-compatible database engine. rlite is to Redis what SQLite is to SQL.
Production Ready Expressjs Server198
4 months ago53mitJavaScript
Express.js server that implements production-ready error handling and logging following latest best practices.
6 years ago1Java
Acid Store8754 months ago24July 15, 20231apache-2.0Rust
A transactional and deduplicating virtual file system
12 years ago1mitRuby
Easy annotation of ActiveRecord objects with properties stored in Redis. Extracted from DueProps
4 years ago5January 25, 20191Java
基于springboot , zookeeper , redis 分布式事务强一致性方案
a year agoapache-2.0Ruby
A simple, distriubuted and transactional queue for Ruby
Vsp Youtube Clone Microservices6
3 months agoapache-2.0C#
A YouTube Clone microservices application built with .NET 7 and Angular 14.
Redis Cache5
9 years agoapache-2.0
基于Redis的Java Method缓存包
9 years agoGo
Generic search engine, ElasticSearch-like, Redis-backed
Alternatives To Acid Store
Select To Compare

Alternative Project Comparisons

Tests Workflow Status (main) Codecov


acid-store is a Rust library for secure, deduplicated, and transactional data storage.

This library provides abstractions for data storage over a number of storage backends. You can turn any storage backend into an encrypted and deduplicated object store, persistent collection, or virtual file system (which can be mounted via FUSE).

Out of the box, this library supports the local file system, SQLite, Redis, Amazon S3, SFTP, and many cloud providers as storage backends. Storage backends are easy to implement, and this library builds on top of them to provide encryption, compression, content-based deduplication, locking, and atomic transactions.

For details and examples, see the documentation.

This project is experimental!

This project experiences frequent breaking API changes and hasn't seen significant real-world usage. This project is not ready for use in production environments. Also keep in mind that this code has not been audited for security.


  • Optional encryption of all data and metadata using XChaCha20-Poly1305 and Argon2, via libsodium
  • Optional compression using LZ4
  • Optional content-based deduplication
  • Supports packing data into fixed-size blocks to avoid metadata leakage when using encryption
  • Integrity checking of data and metadata using checksums and (if encryption is enabled) AEAD
  • Locking protects against concurrent access from multiple clients
  • Copy-on-write semantics
  • New storage backends are easy to implement


This library provides the following abstractions for data storage.

  • An object store which maps keys to seekable binary blobs
  • A virtual file system which can be mounted via FUSE and supports file metadata, special files, sparse files, hard links, and importing and exporting files to the local file system
  • A persistent, heterogeneous, map-like collection


This library provides the following storage backends out of the box.

  • Local file system directory
  • SQLite
  • Redis
  • Amazon S3
  • SFTP
  • Cloud storage via rclone
  • In-Memory


The following results show read and write speeds using an in-memory storage backend. You can run the benchmarks yourself by running cargo bench --features 'encryption'.


Spec Value
Processor Ryzen 5 1600x
Memory 32 GB DDR4 (3200MHz)
OS Linux 5.11


Chunking Packing Encryption Compression Read Write
Fixed None None None 6090 MiB/s 1920 MiB/s
ZPAQ None None None 2670 MiB/s 520 MiB/s
Fixed Fixed XChaCha20-Poly1305 None 870 MiB/s 610 MiB/s
ZPAQ Fixed XChaCha20-Poly1305 None 840 MiB/s 300 MiB/s

MSRV Policy

The last two stable Rust releases are supported. Older releases may be supported as well.

The MSRV will only be increased when necessary to take advantage of new Rust featuresnot every time there is a new Rust release. An increase in the MSRV will be accompanied by a minor semver bump if >=1.0.0 or a patch semver bump if <1.0.0.

This policy was added with v0.13.0.

Semver Policy

Prior to version 1.0.0, breaking changes will be accompanied by a minor version bump, and new features and bug fixes will be accompanied by a patch version bump.

This policy was added with v0.13.0.

Similar Projects

Here are some similar projects to check out:


Copyright 2019-2023 Wren Powell

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Popular Transactional Projects
Popular Redis Projects
Popular Data Storage Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.