https://github.com/GiggleWang/LSM_Tree
https://github.com/GiggleWang/LSM_Tree
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/GiggleWang/LSM_Tree
- Owner: GiggleWang
- Created: 2024-05-03T11:10:26.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-09-11T13:27:16.000Z (8 months ago)
- Last Synced: 2024-10-08T02:32:07.408Z (7 months ago)
- Language: C++
- Size: 4.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-se - GiggleWang-2022
README
## Project LSM-KV: KVStore using Log-structured Merge Tree
The handout files include two main parts:
- The `KVStoreAPI` class in `kvstore_api.h` that specifies the interface of KVStore.
- Test files including correctness test (`correctness.cc`) and persistence test (`persistence.cc`).Explanation of each handout file:
```text
.
├── Makefile // Makefile if you use GNU Make
├── README.md // This readme file
├── correctness.cc // Correctness test, you should not modify this file
├── data // Data directory used in our test
├── kvstore.cc // your implementation
├── kvstore.h // your implementation
├── kvstore_api.h // KVStoreAPI, you should not modify this file
├── persistence.cc // Persistence test, you should not modify this file
├── utils.h // Provides some file/directory interface
├── MurmurHash3.h // Provides murmur3 hash function
└── test.h // Base class for testing, you should not modify this file
```First have a look at the `kvstore_api.h` file to check functions you need to implement. Then modify the `kvstore.cc` and `kvstore.h` files and feel free to add new class files.
We will use all files with `.cc`, `.cpp`, `.cxx` suffixes to build correctness and persistence tests. Thus, you can use any IDE to finish this project as long as you ensure that all C++ source files are submitted.
For the test files, of course you could modify it to debug your programs. But remember to change it back when you are testing.
Good luck :)