This repository contains implementations of various join algorithms in Python.
The objective is to demonstrate different join algorithms that are used in distributed data processing systems. The implementations are designed to be simple and easy to understand, making them suitable for educational purposes and should not be used in production systems.
Note: The implementations only support inner-joins for simplicity. Other types of joins (left, right, full outer) can be implemented similarly.
The implemented join algorithms include:
- Hash Join
- Sort-Merge Join
- Grace Hash Join
- Parallel Hash Join
- External Sort-Merge Join
Feel free to explore the code, run the examples, and modify them to better understand how these algorithms work!