Skip to content

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database Algorithms

Coursework repository with database algorithm and storage-system assignments. The tasks combine Java implementations with reports and supporting materials for studying query processing, indexing and data management concepts.

Tech Stack

Area Tools
Language Java
Build Maven
Query parsing ANTLR4
Benchmarking JMH, Python scripts
Supporting materials HTML, TeX, Python, JavaScript

Repository Structure

databases_algo/
├── hw01/
├── hw02/  # geospatial index with QuadTree and JMH benchmarks
├── hw03/  # approximate nearest neighbor search: LSH, HNSW, IVF+PQ
├── hw04/  # concurrent hash map, JCStress and JMH benchmarks
└── hw05/  # inverted index, query parser and Wikipedia search

Each homework directory contains an isolated assignment with source code and/or documentation.

Highlights

  • hw02 implements a geospatial search index with QuadTree, compares it with a naive baseline and includes benchmark plots plus JaCoCo coverage.
  • hw03 compares LSH, HNSW and IVF+PQ approaches for approximate nearest neighbor search.
  • hw04 implements a segmented concurrent hash map with unit tests, JCStress tests and JMH benchmarks.
  • hw05 implements an inverted/positional index for Wikipedia search with boolean and proximity operators, BM25 ranking, segmented on-disk storage and JMH benchmarks.

What This Project Demonstrates

  • Working with database internals and algorithmic tasks.
  • Implementing coursework assignments in Java.
  • Keeping reproducible homework structure with Maven modules.
  • Combining code, reports and experiment artifacts in one repository.

Build

mvn -DskipTests clean package

Some homework directories may also include their own pom.xml; run Maven inside the corresponding directory when working with a specific task.

For example:

cd hw05
mvn -DskipTests clean package

Portfolio Notes

This repository supports the data engineering profile by showing lower-level database and storage-system coursework beyond application-level SQL usage.

About

Database algorithms coursework with Java labs, geospatial indexing, ANN search, inverted index and storage-system experiments.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages