NEUStore: A Simple Java Package for the Construction of Disk-based, Paginated, and Buffered Indices

What is it?

NEUStore is a Java package that aims to support the development of disk-based, paginated, and buffered index structures. Three classes, namely DBPage, DBBuffer and DBIndex, are the core of the package. Some other packages such as the HeapFile and the LRUBuffer are provided. But beyond that, the package does not go very far. For instance, the package does not implement well-know index structures like the B+-tree and the R-tree. On the other hand, this is a perfect teaching tool. A database or storage course instructor, who wants the students to learn how to design disk-based indices, may find the package very useful. A Ph.D. advisor may want to let the new Ph.D. students know about this package, in order to help them learn the concept of designing disk-based index structures and to save their development time.

How to download?

The latest version is version 1.5.
Java code including Javadoc is neustoreroot.tgz.
PDF manual is NEUStore.pdf.
PPT slides is NEUStore.ppt.

But before you download, you must agree with the following terms:

How to compile to a jar file?

Place build.xml in the same directory as doc, neustore and test. If you call ant jar it will compile the .java classes in the neustore directory into the target/classes and then create a jar file of the compiled classes. You can then add the jar to the build path of your project in Eclipse. Thank Joshua Serrin <nirres01 AT> for creating this build file.

Change history.


This project was partially supported by NSF CAREER Award IIS-0347600. Thank Tian Xia for helping with coding. Thank Zhenmin Lin and Jiangjiang for helping identifying bugs. Thank Wei Wang for comments on more efficient buffer implementation. Thank Joshua Serrin for creating the ant build file. Thank Joshua Serrin and Yan Su for suggesting to add the scan functionality for the HeapFile.

Whom to contact?

In case you have questions or concerns, send email to donghui AT