News for hackers. Stuff that matters.

Show HN: AnuDB – An experimental C++ document store using RocksDB

https://github.com/hash-anu/AnuDB

I have been working in the database field for a significant amount of time; however, I never had the opportunity to work on the core of a database—until now. I am excited to introduce AnuDB, a document-oriented database built using RocksDB for persistence.

Given my background in embedded Linux platforms, I conceptualized running a database on embedded systems. While there are several databases available in the market, most high-quality solutions cater primarily to enterprise customers. Although some databases exist for embedded platforms, they come with various limitations. AnuDB aims to address this gap, specifically targeting the IoT domain, where frequent data streaming and storage are essential.

AnuDB leverages RocksDB’s LSM tree-based architecture as its storage engine, ensuring efficient handling of high-throughput workloads. The project includes JSON-based APIs for CRUD operations, with enforced indexing for document retrieval. The indexing mechanism is implemented using prefix extractors in RocksDB—further details can be found in the Collection class of AnuDB.

I invite you to explore the GitHub repository:https://github.com/hash-anu/AnuDB. Your insights and feedback would be invaluable in refining and improving the project. I look forward to hearing your thoughts!

( 5 comments | 2 points | on HN )
Re:Show HN: AnuDB – An experimental C++ document store using... by Rochus on Monday March 31, 2025 @06:59PM (#43540914)
Cool. You write "C++11 >= compatible compiler (GCC 4.8+ or Clang 3.4+)". From that can I conclude that you are using an older version of RocksDB (more recent versions require C++17)? Which version? What's the motivation for an older version?
Re:Show HN: AnuDB – An experimental C++ document store using... by hashmak_jsn on Monday March 31, 2025 @11:44PM (#43542626)
Yes, I am using an older rocksdb version 6.29.5 that was released in 2022. The main reason for this choice is that many embedded products still rely on C++11 for application development.Additionally, it offers backward compatibility, making it a practical and stable choice for such applications.
Re:Show HN: AnuDB – An experimental C++ document store using... by Rochus on Tuesday April 01, 2025 @05:16AM (#43544548)
That makes sense, thanks.
Re:Show HN: AnuDB – An experimental C++ document store using... by hashmak_jsn on Tuesday April 01, 2025 @10:28AM (#43547198)
I am currently expanding the example repository for AnuDB at https://github.com/hash-anu/AnuDB/tree/main. Additional example files are being added to help you gain a comprehensive understanding of AnuDB's features and implementation patterns. Please check the repository regularly for updates.
Re:Show HN: AnuDB – An experimental C++ document store using... by hashmak_jsn on Wednesday April 02, 2025 @10:25AM (#43557051)
Added example files demonstrating the usage of AnuDB.