https://github.com/rohanvdvivedi/tuplestore
This is a library to store database-like tuples in a row-oriented block store. It provides page-level API functions to access and store tuples on the page.
https://github.com/rohanvdvivedi/tuplestore
data-layout database database-storage-engine slotted-page storage-model tuples
Last synced: about 1 year ago
JSON representation
This is a library to store database-like tuples in a row-oriented block store. It provides page-level API functions to access and store tuples on the page.
- Host: GitHub
- URL: https://github.com/rohanvdvivedi/tuplestore
- Owner: RohanVDvivedi
- Created: 2020-05-26T11:43:37.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-28T17:41:47.000Z (about 1 year ago)
- Last Synced: 2025-03-28T18:24:35.742Z (about 1 year ago)
- Topics: data-layout, database, database-storage-engine, slotted-page, storage-model, tuples
- Language: C
- Homepage:
- Size: 1020 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TupleStore
This library provides you with a very simple
* **row oriented - slotted page & fixed array page storage models,**
* **for fixed or variable length predefined tuples,**
* **to be stored on fixed sized pages for block storage systems.**
Started as a project to be used for managing page layout in a database storage engine.
To reiterate : This project is not a database, embedded database, database storage engine or any of that.
It only provides primitive utility functions/structures to systematically organize your data in tuples of predefined datatypes in a specific (slotted page or fixed array page) model for a block storage memory consisting of pages of predefined fixed size.
## Setup instructions
**Install dependencies :**
* [Cutlery](https://github.com/RohanVDvivedi/Cutlery)
* [SerializableInteger](https://github.com/RohanVDvivedi/SerializableInteger)
**Download source code :**
* `git clone https://github.com/RohanVDvivedi/TupleStore.git`
**Build from source :**
* `cd TupleStore`
* `make clean all`
**Install from the build :**
* `sudo make install`
* ***Once you have installed from source, you may discard the build by*** `make clean`
## Using The library
* add `-ltuplestore -lcutlery` linker flag, while compiling your application
* do not forget to include appropriate public api headers as and when needed. this includes
* `#include`
* `#include`
* `#include`
## Instructions for uninstalling library
**Uninstall :**
* `cd TupleStore`
* `sudo make uninstall`