Show HN: A Database Written in C

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. tidesdb

    High-performance durable, transactional embedded storage engine designed for flash and RAM optimization.

    Hey hackernews! I'd like to share a hobby and passion project I've been working on for almost a year now. It's an open-source storage engine (underlying component of a database(s)) similar to that of LevelDB/RocksDB but written entirely in C.

    The storage engine is called TidesDB.

    TidesDB is written entirely in C. It's designed as a fast, transactional key-value storage engine built on a log-structured merge-tree (LSM-tree) architecture.

    My journey with TidesDB began nearly 2 years ago whilst I was experimenting with various data structures and databases in Go. When I encountered the log-structured merge tree concept, I was initially overwhelmed by its complexity after reviewing other implementations.

    However, after studying the original paper, I realized I could potentially simplify the design by focusing on just a 2-level approach(memory level and a disk level). This was challenging at first, and I scrapped many ideas along the way, but over time I discovered how powerful this design could potentially be.

    The beauty of this design/architecture is its extensibility. Since the disk level contains many SSTables (Sorted String Tables), we can efficiently pair and merge them in various ways - whether in parallel for speed or incrementally to minimize resource impact.

    What began as a challenging learning process has I believed evolved into a unique engine design and library.

    You can check out TidesDB code here: https://github.com/tidesdb/tidesdb

    Website here (Architecture-design, documentation and more): https://tidesdb.com

    There are a variety of FFI libraries in the works for C++, GO, Python, Lua and more!

    Currently TidesDB is nearing its first major release, we are still in beta development.

    I'd love to get your thoughts, questions and all :)

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. Udb

    This is the NoSql database used by CrossLine and other tools by Rochus (by rochus-keller)

    Ok, I see. I implemented an object database based on the Sqlite backend some time ago for CrossLine and other applications, which includes ideas of MUMPS and also uses unicode collating algorithms implemented in Qt, but it's c++, see e.g. https://github.com/rochus-keller/Udb/blob/master/Idx.cpp.

  4. EiGen

    C++11 cross-platform migration of the Eigen Compiler Suite backend, and C frontends and libc/m for Eigen

    I don't want to burden you with work, so don't feel obliged in any way. This is simply my opinion (there are also good reasons for newer C versions). In all my projects, I don't have any newer versions than C99 or C++11 (most are even C++98/03). I recently even migrated a compiler backend framework from C++17 to C++11 to use it: https://github.com/rochus-keller/eigen/. I could do the same with your code if I would use it, but first I have to move forward in other projects.

    Concerning cmake: I only use it if unavoidable; instead I implemented my own build system (https://github.com/rochus-keller/busy/) some years ago which I now use for most of my projects.

  5. BUSY

    BUSY is a lean, statically typed, cross-platform, easily bootstrappable build system for GCC, CLANG and MSVC inspired by Google GN

    I don't want to burden you with work, so don't feel obliged in any way. This is simply my opinion (there are also good reasons for newer C versions). In all my projects, I don't have any newer versions than C99 or C++11 (most are even C++98/03). I recently even migrated a compiler backend framework from C++17 to C++11 to use it: https://github.com/rochus-keller/eigen/. I could do the same with your code if I would use it, but first I have to move forward in other projects.

    Concerning cmake: I only use it if unavoidable; instead I implemented my own build system (https://github.com/rochus-keller/busy/) some years ago which I now use for most of my projects.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: TidesDB – Fast, transactional, durable storage engine

    2 projects | news.ycombinator.com | 4 Apr 2025
  • TidesDB: A modern log structured storage engine

    1 project | news.ycombinator.com | 25 Mar 2025
  • TidesDB: A fast key/value store for modern hardware

    3 projects | news.ycombinator.com | 21 Mar 2025
  • Tidesdb: High-performance, durable, transactional embedded storage engine

    1 project | news.ycombinator.com | 30 Nov 2024
  • TidesDB – High-performance, durable, transactional embedded storage engine

    2 projects | news.ycombinator.com | 16 Oct 2024

Did you know that C is
the 6th most popular programming language
based on number of references?