Nothing

rsdb

RSDB 1: Introduction


The title image is from Photo by fabio on Unsplash

RSDB(Really Simple Database), is a simple key-value database library. It currently supports multi-processes concurrency implemented by file locks. This project is inspired by Advanced Programming in the UNIX® Environment, Third Edition Chapter 20. The source code is in this github repo.

After reading APUE, I want to do some little projects to practice to use those hard-to-remember C functions. Many people recommend to implement a shell because it will cover topics like process control and terminal I/O. But personally, I have more interest in database and chapter 20 has already provide a good starting point.

In my plan, I will first implement the basic features the books have already done, it will cover topics about file I/O, including read/write, open and file locks. This part is already done.

Second, I will try to implement a server to provide database service. This will cover topics about IPC(both host IPC and internet IPC) and process control.

Then, I will make the database library thread-safe, this will cover topics about thread control.

As you can see, the project is written using C++ instead of C. This is because C++ provide more convenient features(including object-oriented support and STL) and I’m more familiar with it. The project isn’t a simple wrapper of the C code in the book, because I try to combine the code with some C++ features and things I’ve learned from other projects. And I will talk about those in the following blogs.

I will keep writing blogs about this project to discuss how I implement it and summarize contents in APUE.