Skip to main content

Architecture

NITCbase has an eight layer design. This section provides documentation for each of the eight layers and certain additional design specific details. Contents include:

  1. Algebra Layer
  2. Schema Layer
  3. Block Access Layer
  4. B+ Tree Layer
  5. Cache Layer
  6. Buffer Layer
  7. Physical Layer
  8. Frontend Interface

The Frontend Interface of NITCbase is a command line interface provided to the users in which they can execute any database query. This layer is responsible for translating the SQL-like queries given as input to a set of lower-layer function calls. This layer is divided into two layers, the Frontend User Interface and the Frontend Programming Interface. The former is completely implemented and provided to you.

The complete implementation of the Physical Layer has also been provided to you.

The following diagram shows the organization of different layers of NITCbase and important C++ classes present within them. You can use this diagram to navigate to different parts of this section by clicking on the relevant layers.

Architecture