Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

edydfang/BPlusTree-ZoneMap

Repository files navigation

Zone Map Enhanced B+-Tree for Correlated Multi-Column Index

This implementation is based on another open-source B+ tree implementation.

https://github.com/zcbenz/BPlusTree (Copyright (c) 2012 Zhao Cheng)

Files

  • bpt.h and bpt.cc is the implementation of B+ tree. predefined.h defines the tree order, key/value type, key compare function and other tree settings, modify it to satify your need. Just include these tree files in your project to use the B+ tree.
  • zbpt.h and zbpt.cc is the implementation of zone map enhanced B+ tree and it inherites the baseline B+ tree class.
  • dbgen.cc and zdbgen.cc generate the database index file by inserting the data records one by one for baseline and zone map enhanced B+ tree.
  • benchmark.c code for runing benchmark.
  • util/unit_test.cc is the test code for baseline B+ tree.
  • dump_numbers.cc can write some numbers into a database, so you can quickly test out the B+ tree.
  • cli.cc is a command tool to manipulate an exisiting database.

Compile

The code currently can be only compiled and run on Linux because some special system calls for memory management.

# to compile
make

Benchmark

  1. generate the lineitem table flat file using TPC-H benchamrk generation tool
  2. ./data_process <input-data-file> to get flat file with only three date columns
  3. ./db_gen or ./zdb_gen to generate database file for the baseline and the zonemap enhanced version.
  4. ./benchmark to run benchmark

License

The MIT License (MIT)

About

B+ tree with zone map enhanced for coorelated multi-column index

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C++ 95.9%
  • Makefile 2.4%
  • Shell 1.7%

AltStyle によって変換されたページ (->オリジナル) /