Database management systems are increasingly used for developing solutions in data-intensive applications. Furthermore, as databases are growing in size and queries increasing in complexity, performance is becoming an issue. Parallel databases can provide speedup and scale up during query processing which is the key solution for handling complex and large databases effectively.In this study our aim is to assess the state of art in parallel relational databases and related performance issues. To achieve our goal, we have concentrated on PostgreSQL performance measurement and query optimization by using OpenMP. We first explore the performance issues of PostgreSQL by profiling the database with Gprof and OProfile. A query set, which consists of Select, Sort, Group, Inner Join Operations and Aggregate functions, is used to measure the performance on the stated profilers. In addition to that, pgbench, which is a PostgreSQL benchmarking tool, is used to evaluate the database performance on different CPU-core numbers, in terms of transaction per second (TPS) and CPU time. By obtaining data on which functions the most time during query processing is spent, we try to find out where to implement multi-processing. The results show that implementation of OpenMP to the source code increases the performance for some aspects. |