{"name":"TidesDB: A High-Performance Embeddable Storage Engine in C","description":"TidesDB is a high-performance, adaptive, and durable embeddable storage engine library written in C. It is built on a log-structured merge-tree (LSM-tree) and offers ACID transactions with MVCC, multi-column family support, and cross-platform compatibility. Designed for flash and RAM optimization, TidesDB provides a robust foundation for building scalable key-value or column stores.","github":"https://github.com/tidesdb/tidesdb","url":"https://osrepos.com/repo/tidesdb-tidesdb","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/tidesdb-tidesdb","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/tidesdb-tidesdb.md","json":"https://osrepos.com/repo/tidesdb-tidesdb.json","topics":["C","storage-engine","embeddable","database","lsm-tree","acid","multi-platform","key-value store"],"keywords":["C","storage-engine","embeddable","database","lsm-tree","acid","multi-platform","key-value store"],"stars":null,"summary":"TidesDB is a high-performance, adaptive, and durable embeddable storage engine library written in C. It is built on a log-structured merge-tree (LSM-tree) and offers ACID transactions with MVCC, multi-column family support, and cross-platform compatibility. Designed for flash and RAM optimization, TidesDB provides a robust foundation for building scalable key-value or column stores.","content":"## Introduction\nTidesDB is a fast and efficient key-value storage engine library implemented in C. It leverages a log-structured merge-tree (LSM-tree) as its underlying data structure, providing high-performance, adaptive, durable, and transactional capabilities. While not a full-featured database, TidesDB serves as a powerful library for developers to build custom database solutions or utilize it as a standalone key-value/column store, optimized for flash and RAM.\n\n## Installation\nTo get started with TidesDB, including instructions for building and benchmarking, please refer to the official documentation: [Building & Benchmarking TidesDB](https://tidesdb.com/reference/building/)\n\n## Examples\nFor detailed C usage documentation and examples on how to integrate TidesDB into your projects, consult the [TidesDB C Reference](https://tidesdb.com/reference/c/).\n\n## Why Use TidesDB?\nTidesDB stands out with a comprehensive set of features designed for demanding storage needs:\n*   **ACID Transactions with MVCC**: Supports 5 isolation levels, including Serializable Snapshot Isolation (SSI), with savepoints and read-your-own-writes semantics.\n*   **Multi-Column Family Support**: Provides isolated key-value stores with independent configurations and atomic transactions across them.\n*   **Hybrid and Adaptive Compaction**: Offers various compaction modes, Dynamic Capacity Adaptation (DCA), and dynamic level management for optimal performance and space.\n*   **Automatic Crash Recovery**: Reconstructs memtables from write-ahead log (WAL) files on startup, ensuring data integrity.\n*   **Key-Value Separation**: Implements WiscKey-style separation for small and large values, reducing write amplification.\n*   **TTL Support**: Enables automatic key-value expiration, handled during reads and compaction.\n*   **Cross-Platform Compatibility**: Fully supports Linux, macOS, Windows, BSD, and Solaris/Illumos across x86, ARM, RISC-V, and PowerPC architectures, with file portability.\n*   **Clean C API**: Offers a straightforward C API with clear error codes and configurable debug logging.\n\n## Links\nExplore TidesDB further with these official resources:\n*   **What is TidesDB?**: [https://tidesdb.com/getting-started/what-is-tidesdb/](https://tidesdb.com/getting-started/what-is-tidesdb/)\n*   **Building & Benchmarking**: [https://tidesdb.com/reference/building/](https://tidesdb.com/reference/building/)\n*   **C Reference**: [https://tidesdb.com/reference/c/](https://tidesdb.com/reference/c/)\n*   **Discord Community**: [https://discord.gg/tWEmjR66cy](https://discord.gg/tWEmjR66cy)","metrics":{"detailViews":0,"githubClicks":3},"dates":{"published":null,"modified":"2026-06-09T11:33:54.000Z"}}