Publication: Estimation of database query time before execution in a database management system
Abstract
BİR VERİTABANI YÖNETİM SİSTEMİNDE SORGU ÇALIŞTIRMADAN ÖNCE SORGU SÜRESİ TAHMİNİ Bu çalışmada, veritabanı sorgu sürelerinin sorgular çalıştırılmadan, otomatik olarak tahmin edilmesi hedeflenmiştir. Bu amaçla örnek bir veri tabanı üzerinde 1000 sorgu incelenmiş, üç yöntem gerçeklenmiş, ve öğrenme ve test çalısmaları bu sorgulardan oluşan veri kümeleri üzerinden ilerletilmiştir. Bu yöntemler yapay sinir ağları temellidir ve çok katmanlı algılayıcı yapısı üzerinde uygulanmışlardır. Birinci yöntem çok katmanlı algılayıcı üzerine uygulanan geri-yayılmalı öğrenme algoritmasıdır. İkinci yöntemde, çok katmanlı algılayıcı üzerine yapay arı koloni öğrenme algoritması kullanılmıştır. Üçüncü yöntemde ise çok katmanlı algılayıcının yapısı küçük-ağ algoritması yardımı ile öğrenmeye başlamadan önce değiştirilmiştir. Bu değiştirilmiş küçük-ağ üzerinde öğrenme geri-yayılmalı öğrenme algoritması ile sağlanmıştır. Yapay arı koloni ve küçük-ağ yöntemleri geri-yayılmalı öğrenme yönteminden daha güncel ve gelişmekte olan çalışmalardır. Geri-yayılmalı öğrenme ve küçük-ağ yöntemleri gerçeğe oldukça yakın sonuçlar vermişlerdir, fakat yapay arı koloni yöntemi kabul edilebilir sonuçlar vermemiştir. Yapay sinir ağlarının düzgün olarak olarak çalışması için öğrenme sürecinden geçmesi gerekir. Yapay sinir ağlarının, çevredeki değişikliklere ayak uydurmak için, zaman geçtikçe belli aralıklarla bu öğrenme sürecini tekrarlamaları gerekmektedir. Geri-yayılmalı öğrenme ve küçük-ağ yöntemleri algoritmalarının öğrenme süresi birkaç dakikadır ve bu süre benzer çalısmalarda kullanılan yöntemlere kıyasla oldukça azdır. Yapay arı koloni algoritması ise bu iki yöntemden daha karmaşıktır, bu da öğrenme süresini arttırmaktadır. Sonuç olarak, bu çalışma geri-yayılmalı öğrenme ve küçük-ağ yöntemlerinin sorgu sürelerinin tahmini konusunda başarılı, kabul edilebilir sonuçlar verdiğini göstermiştir.
ESTIMATION OF DATABASE QUERY TIME BEFORE EXECUTION IN A DATABASE MANAGEMENT SYSTEM This study aims to predict automatically the approximate time of database query before execution. For this purpose, 1000 different queries on a benchmark database were investigated, three methods were implemented, and the training and test processes were performed using the data sets that consist of instances of these queries. These methods are based on artificial neural networks. The first method is the back-propagation training algorithm on a multilayer perceptron network. The second method is the artificial bee colony training algorithm applied on a multilayer perceptron network. In the third approach, the small-world network algorithm modifies the structure of the neural network before training. In this altered network the back-propagation training algorithm is used for learning. Artificial bee colony and small-world network methods are relatively new algorithms, compared to the back-propagation algorithm. Back-propagation and small-world network methods have predicted query times similar to actual values. However, artificial bee colony approach has not given acceptable results. Artificial neural networks need to be trained, before solving a problem. Also, even after the network is trained, the network needs to be trained periodically to keep up with the changes in the environment. In back-propagation and small-world network methods, the time used for training is a few minutes and this duration is quite short, compared to the other studies on this subject. Artificial bee colony algorithm is more complex than these two algorithms, and complexity increases learning time. As a result, this study shows that back-propagation and small-world network methods give sufficiently accurate results in estimation of database query times.
ESTIMATION OF DATABASE QUERY TIME BEFORE EXECUTION IN A DATABASE MANAGEMENT SYSTEM This study aims to predict automatically the approximate time of database query before execution. For this purpose, 1000 different queries on a benchmark database were investigated, three methods were implemented, and the training and test processes were performed using the data sets that consist of instances of these queries. These methods are based on artificial neural networks. The first method is the back-propagation training algorithm on a multilayer perceptron network. The second method is the artificial bee colony training algorithm applied on a multilayer perceptron network. In the third approach, the small-world network algorithm modifies the structure of the neural network before training. In this altered network the back-propagation training algorithm is used for learning. Artificial bee colony and small-world network methods are relatively new algorithms, compared to the back-propagation algorithm. Back-propagation and small-world network methods have predicted query times similar to actual values. However, artificial bee colony approach has not given acceptable results. Artificial neural networks need to be trained, before solving a problem. Also, even after the network is trained, the network needs to be trained periodically to keep up with the changes in the environment. In back-propagation and small-world network methods, the time used for training is a few minutes and this duration is quite short, compared to the other studies on this subject. Artificial bee colony algorithm is more complex than these two algorithms, and complexity increases learning time. As a result, this study shows that back-propagation and small-world network methods give sufficiently accurate results in estimation of database query times.
