Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anishsinha-io/finalproject
Implementation of concurrent B-Trees in C
https://github.com/anishsinha-io/finalproject
Last synced: about 1 month ago
JSON representation
Implementation of concurrent B-Trees in C
- Host: GitHub
- URL: https://github.com/anishsinha-io/finalproject
- Owner: anishsinha-io
- Created: 2022-08-18T16:56:37.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T20:07:25.000Z (almost 2 years ago)
- Last Synced: 2024-11-08T12:17:55.174Z (3 months ago)
- Language: C
- Homepage:
- Size: 83 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Concurrent B-Link-Tree Indexes Research
This repository implements concurrent B-Tree database indexes in pure ANSI C with no external dependencies. This repository comes with a full library of data structures, including a strings implementation, vector implementation, and stack implementation. The thread pool for actually running the code concurrently consists of one header file and one source file, which implements binary semaphores and a thread pool which takes jobs through a queue.
The B-Link-Tree indexes implemented here are combine the ideas of Lehman and Yao's efficient locking scheme as well as Lanin and Shasha's symmetric algorithm for deletion, making the trees implemented here similar to indexes used in PostgreSQL or other enterprise relational database management systems.
To run the code, `git clone` the repository, then `cd` into the folder. Run `mkdir build && cd build` and then `cmake ..`, `make`, and run the executable.