- are range query bounds inclusive or exclusive?
- either are fine as long as it is documented
Zonemaps is a simple template for you, the student, to use for the simple implementation project in COSI-167A. Note that this is a high-level template, it is not extensive, rather it is meant to help guide you on what we expect when you implement the zone maps. You can use this as a base code or start from scratch. You may require additional helper functions to satisfy the requirements of the project.
The zonemaps.h header file is a template that defines the basic components of a zone map data structure. It is required to implement the data structure using this template in a separate file named "zonemaps.cpp". You are free to modify certain components of the template to improve the performance of the data structure; however, the core functionality should remain the same. In your implementation, it is important to comment your code to highlight various design decisions and logic.
The main.cpp file provides a foundational testing framework expected for this project. Each workloads/W*
directory
contains three files (1) workload.dat
for inserts and (2) point_queries.txt.
and (3) range_queries.txt
. You are
required to run the workloads, given in the workloads
directory (change the W[number]
), build the zone map, and
benchmark point queries and range queries. We have already provided a simple logic for benchmarking the point query. You
are required to implement parsing the range queries from 'range_queries.txt` and benchmarking the range query
performance. The execution times are to be written either into a log file or displayed on the terminal along with other
relevant details about the workload, such as the input workload size, the number of queries.
Compile all files using the "make" command. Once the implementation of zone maps is complete, you will be required to fill in the appropriate test call in the main.cpp file for the point/range queries.
If you have any questions please feel free to see Subhadeep during office hours, or email your queries at subhadeep@brandeis.edu.
python3 -V # 3.12
python3 -m venv .venv
source .venv/bin/activate
pip intsall -r requirements.txt
python3 plot.py