Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. TidesDB

TidesDB

MPL-2.0Cv9.2.5

A high-performance, embeddable LSM-tree storage engine library in C with ACID transactions, tiered storage, and cross-platform portability.

Visit WebsiteGitHubGitHub
516 stars47 forks0 contributors

What is TidesDB?

TidesDB is a high-performance, embeddable storage engine library written in C, based on a log-structured merge-tree (LSM-tree). It provides ACID transactions, multi-column family support, and adaptive compaction, designed for flash and RAM optimization with optional tiered object storage for infinite scalability. It serves as a foundational component for building custom databases or as a standalone key-value/column store.

Target Audience

Database engineers and developers building custom database systems, embedded applications requiring transactional storage, or projects needing a portable, high-performance key-value store with advanced features like MVCC and tiered storage.

Value Proposition

Developers choose TidesDB for its combination of embeddability, cross-platform portability, and rich feature set including ACID transactions with multiple isolation levels, adaptive compaction strategies, and optional S3-compatible object storage, all in a clean C API optimized for modern hardware.

Overview

High-performance adaptive, durable, portable, transactional embeddable storage engine with optional tiered object storage for infinite scale. Designed for flash and RAM optimization.

Use Cases

Best For

  • Building custom transactional databases on top of an LSM-tree storage engine
  • Embedded applications requiring ACID-compliant key-value storage with MVCC
  • Systems needing cross-platform portable database files across diverse architectures
  • Implementing tiered storage with S3-compatible object storage and local caching
  • Optimizing write amplification and space usage with adaptive compaction strategies
  • Developing high-performance storage solutions with configurable column families and isolation levels

Not Ideal For

  • Applications requiring a full SQL database with query language and schema management
  • Distributed systems needing built-in replication and sharding without custom implementation
  • Teams seeking a managed database service with automatic scaling and minimal operational overhead

Pros & Cons

Pros

ACID Transactions with MVCC

Supports five isolation levels including SERIALIZABLE using Serializable Snapshot Isolation (SSI), with savepoints and read-your-own-writes semantics, providing robust transactional guarantees for embedded applications.

Adaptive Compaction Strategies

Offers three compaction modes with Dynamic Capacity Adaptation (DCA) to dynamically scale level capacities and minimize write amplification, optimizing for both space and performance based on data size.

Cross-Platform Portability

Runs on Linux, macOS, Windows, BSD, and Solaris/Illumos across x86, ARM, RISC-V, and PowerPC architectures, with little-endian file serialization ensuring database files work seamlessly across platforms without conversion.

Optional Object Storage

Includes S3-compatible tiered object storage with local file caching and node-failure recovery, enabling infinite scalability for large datasets without sacrificing local performance.

Cons

Not a Full Database

Lacks higher-level features like SQL queries, a query engine, or schema enforcement, requiring developers to build these components on top if needed, which adds development complexity.

Complex Configuration Overhead

With numerous settings for compaction, caching, compression, and column families, tuning TidesDB for optimal performance can be overwhelming and prone to misconfiguration, especially for those new to LSM-trees.

Limited Ecosystem and Bindings

As a C library, it may lack official or mature bindings for popular languages like Python, Java, or Rust, forcing teams to rely on community contributions or develop custom integrations.

Frequently Asked Questions

Quick Stats

Stars516
Forks47
Contributors0
Open Issues2
Last commit2 days ago
CreatedSince 2024

Tags

#c-library#database#lsm-tree#storage-engine#portable#x86-64#mvcc#key-value-store#embedded-database#acid#oltp#multi-platform#cross-platform#ttl#acid-transactions

Built With

S
Snappy
l
lz4
Z
ZSTD
j
jemalloc
L
LSM-tree
C
C++

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

LevelDBLevelDB

LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

Stars39,092
Forks8,199
Last commit2 months ago
RocksDBRocksDB

A library that provides an embeddable, persistent key-value store for fast storage.

Stars31,695
Forks6,835
Last commit1 day ago
HiredisHiredis

Minimalistic C client for Redis >= 1.2

Stars6,648
Forks1,844
Last commit2 months ago
InfinityInfinity

The AI-native database built for LLM applications, providing incredibly fast hybrid search of dense vector, sparse vector, tensor (multi-vector), and full-text.

Stars4,521
Forks421
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub