Project #3: LSM Trees, Bloom Filters, and Column-Oriented Data

Overview

In class we discussed the building blocks of many types of NoSQL storage: LSM trees, string tables in memory and on disk, and indexing. Your task for this project is to build the storage underlying a NoSQL database.

Team Size

The team size for this project is 2 people.

The Details: Storage and Indexing

The Details: Column Compression Your database should offer three options for the compression of individual columns:

  • Efficient general-purposes block compression
  • Dictionary compression based upon string values in the domain of the column
  • Uncompressed
  • The Details: The Data Model

    The Details: The API

    Deliverables

    You need to turn in the following: