Postgresql Veritabanı Üzerinde Paralel Denemeler

thumbnail.default.alt
Tarih
Yazarlar
Çankur, Reydan
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Bilişim Enstitüsü
Institute of Informatics
Özet
Veritabanı yönetim sistemleri, veri yoğun uygulamalarda çözümler geliştirmek için kullanılır. Günümüzde hem akademide hem de endüstride kullanılan veritabanlarının boyutu ve sorguların karmaşıklığı artmaktadır. Boyutları artan veritabanları için performans bir sorun haline gelmektedir. Bu noktada paralel veritabanları hız sağlayarak veritabanlarının etkin kullanım için anahtar çözüm olmaktadır. Bu çalışmada amacımız paralel ilişkisel veritabanları ve ilgili performans sorunlarını değerlendirmektir. Hedefimizi gerçekleştirmek için, PostgreSQL veritabanının performans ölçümü ve sorgu iyileştirmesine yöneldik. Sorgu iyileştirmeleri için OpenMP dili kullanıldı. İlk olarak çeşitli yollarla varolan kaynak kodun performans ölçümleri alındı. Bunu yapmak için çeşitli görevler içeren bir sorgu seti veritabanı üzerinde çalıştırıldı. Daha sonra en çok zaman harcayan fonksiyonlar belirlenerek, OpenMP dili ile tekrar yazıldı. Sonuçlar bize bu yöntemle performansın arttırılabileceğini gösteriyor.
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.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Bilişim Ensititüsü, 2010
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Informatics, 2010
Anahtar kelimeler
Alıntı