Contents

Introduction
1.1 Motivation
1.2 Data structure
1.3 Our solution

2 Review of possible solutions, proof of concepts
2.1 General background
2.2 Database background
2.3 Pure SQL solution
2.4 Array Databases
2.5 Apache Spark
2.6 C++ application

3 Design
3.1 MPI vs OpenMP
3.2 Design details
3.3 Functional requirements
3.4 Application model
3.5 Time Complexity
3.6 Scalability

4 Realization
4.1 Implementation
4.2 Integration

5 Results
5.1 Time complexity
5.2 Quality
5.3 Result summary

Conclusion