/db-indexes

Primary LanguagePython

Database Indexes

This is a repository with implementation and comparison of non-clustered database indexes on Python programming language for the assignment in Advanced Databases course at Innopolis University.

Authors: Ilya Borovik, Artur Khayaliev, Boris Makaev.

The task was to implement three indexes:

Source code of indexes is provided in the package indexes.

Search capabilities of each index are compared with Naive index (simple for-loop search).

As a unit (row) of data in the table we use objects of class Item. Each item has:

  • a single value key
  • a field for data called value which does not affect index structures, but used only in index tests.

As a test data for the indexes any lists of items can be passed.

We provide several methods in the file list_generators.py for generating lists of items with integer or string keys. To make tests more determined we also provide a pregenerated file with items in the directory data.

To test the indexes run the file index_test.py using a Python (>=3.6) interpreter. Default run includes construction of indexes for a table in the defined above file, search, insertion and deletion tests.

To change the configuration of tests, please, modify the code in the file index_test.py. Comments in the file display other test options.