Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
5Activity
0 of .
Results for:
No results containing your search query
P. 1
Adaptive Tuning Algorithm for Performance tuning of Database Management System

Adaptive Tuning Algorithm for Performance tuning of Database Management System

Ratings: (0)|Views: 69 |Likes:
Published by ijcsis
Performance tuning of Database Management Systems(DBMS) is both complex and challenging as it involves identifying and altering several key performance tuning parameters. The quality of tuning and the extent of performance enhancement achieved greatly depends on the skill and experience of the Database Administrator (DBA). As neural networks have the ability to adapt to dynamically changing inputs and also their ability to learn makes them ideal candidates for employing them for tuning purpose. In this paper, a novel tuning algorithm based on neural network estimated tuning parameters is presented. The key performance indicators are proactively monitored and fed as input to the Neural Network and the trained network estimates the suitable size of the buffer cache, shared pool and redo log buffer size. The tuner alters these tuning parameters using the estimated values using a rate change computing algorithm. The preliminary results show that the proposed method is effective in improving the query response time for a variety of workload types.
Performance tuning of Database Management Systems(DBMS) is both complex and challenging as it involves identifying and altering several key performance tuning parameters. The quality of tuning and the extent of performance enhancement achieved greatly depends on the skill and experience of the Database Administrator (DBA). As neural networks have the ability to adapt to dynamically changing inputs and also their ability to learn makes them ideal candidates for employing them for tuning purpose. In this paper, a novel tuning algorithm based on neural network estimated tuning parameters is presented. The key performance indicators are proactively monitored and fed as input to the Neural Network and the trained network estimates the suitable size of the buffer cache, shared pool and redo log buffer size. The tuner alters these tuning parameters using the estimated values using a rate change computing algorithm. The preliminary results show that the proposed method is effective in improving the query response time for a variety of workload types.

More info:

Published by: ijcsis on Jun 30, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/21/2010

pdf

text

original

 
Adaptive Tuning Algorithm for Performance tuning of Database Management System
S.F.Rodd
1
, Dr. U.P.Kulkrani
2
1
Asst. Prof.,
 
Gogte Institute of Technology, Belgaum, Karnataka, INDIAEmail:sfrodd@rediffmail.com 
2
Prof., SDMCET Dharwar, Karnataka, INDIA.Email:upkulkarni@yahoo.com 
Abstract - Performance tuning of DatabaseManagement Systems(DBMS) is both complex andchallenging as it involves identifying and altering severalkey performance tuning parameters. The quality of tuning and the extent of performance enhancementachieved greatly depends on the skill and experience of the Database Administrator(DBA). As neural networkshave the ability to adapt to dynamically changing inputsand also their ability to learn makes them idealcandidates for employing them for tuning purpose. Inthis paper, a novel tunig algorithm based on neuralnetwork estimated tuning parameters is presented. Thekey performance indicators are proactively monitoredand fed as input to the Neural Network and the trainednetwork estimates the suitable size of the buffer cache,shared pool and redo log buffer size. The tuner altersthese tuning parameters using the estimated values usinga rate change computing algorithm. The preliminaryresults show that the proposed method is effective inimproving the query response time for a variety of workload types.
Keywords : DBA, Buffer Miss Ratio, Data Miner, NeuralNetwork, Buffer Cache.
I.
 
I
NTRODUCTION
 Database Management Systems are an integral part of any corporate house, the online systems, and e-commerceapplications. For these systems, to provide reliable serviceswith quick query response times to their customers, theDatabase Management Systems(DBMS) must befunctioning efficiently and should have built-in support forquick system recovery time in case of partial failure orsystem resource bottlenecks. The performance of thesesystems is affected by several factors. The important amongthem include database size which grows with its usage overa period of time, increased user base, sudden increase in theuser processes, improperly or un-tuned DBMS. All of thesetend to degrade the system response time and hence call fora system that anticipates performance degradation bycarefully monitoring the system performance indicators andauto tune the system.Maintaining a database of an enterprise involvesconsiderable effort on part of a Database Administrator(DBA) as, it is a continuous process and requires in-depthknowledge, experience and expertise. The DBA has tomonitor several system parameters and fine tune them tokeep the system functioning smoothly in the event of reduced performance or partial failure. It is thereforedesirable to build a system that can tune itself and relievethe DBA of the tedious and error prone task of tuning.Oracle 9i and 10g have built in support for tuning in theform of tuning advisor. The tuning advisor estimates theoptimal values of the tuning parameters and recommendsthem to the DBA. A similar advisor is also available in SQLServer 2005 which is based on what-if analysis. In thisapproach, the DBA provides a physical design as input andthe Tuning Advisor performs the analysis without actuallymaterializing the physical design. However, the advisoravailable in 2005 recommends the changes needed at thephysical level such as creation of index on tables or views,restructuring of tables, creation of clustered index etc. whichare considered to be very expensive in terms of DatabaseServer down time and the effort on part of the DBA.II. R
ELATED
W
ORK
 Several methods have been proposed that proactivelymonitor the system performance indicators analyze thesymptoms and auto tune the DBMS to deliver enhancedperformance. Use of Materialized views and Indexes,Pruning table and column sets[1-2], Use of self healingtechniques[3-4], use of physical design tuning are amongthe proposed solutions. The classical control is modified anda three stage control involving Monitor, Analyze andTune[6] is employed to ensure system stability. The
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010121http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
2010
architecture presented in [5] for self healing database formsthe basis for the new architecture presented here in thispaper. This paper presents a new DBMS architecture basedon modular approach, where in each functional module canbe monitored by set of monitoring hooks. These monitoringhooks are responsible for saving the current statusinformation or a snapshot of the server to the log. Thisarchitecture has high monitoring overhead, due to the factthat when large number of parameters to be monitored,almost every module's status information has to be stored onto the log and if done frequently may eat up a lot of CPUtime. Moreover, this architecture focuses more on healingthe system and does not consider tuning the DBMS forperformance improvement.Ranking of various tuning parameters based on statisticalanalysis is presented in[6]. The ranking of parameters isbased on the amount of impact they produce on the systemperformance for a given workload. A formal knowledgeframework for self tuning database system is presented in[7]that defines several knowledge components. The knowledgecomponents include Policy knowledge, Workloadknowledge, Problem diagnosis knowledge, ProblemResolution Knowledge, Effector knowledge, andDependency knowledge. The architecture presented in thispaper involves extracting useful information from the systemlog and also from the DBMS using system related queries.This information gathered over a period of time is then usedto train a Neural Network for a desired output response time.The neural network would then estimate the extent of correction to be applied to the key system parameters thathelp scale up the system performance.III. P
ERFORMANCE
T
UNING
Calibrating the system for desired response time is calledperformance tuning. The objective of this system is toanalyze the DBMS system log file and apply informationextraction techniques and also gather key system parameterslike buffer miss ratio, number of active processes and thetables that are showing signs of rapid growth. The controlarchitecture presented in this paper, only one parameternamely, the buffer cache is tuned. Using the statisticalinformation of these three parameters to train the NeuralNetwork and generate an output that gives an estimate of theoptimal system buffer size. Since, the DBMS are dynamicand continuously running around the clock, the aboveinformation must be extracted without causing anysignificant system overhead.Extracting information from system log ensures thatthere is no overhead. The queries that are used to estimatebuffer miss ratio, table size and number of user processesare carefully timed and their frequency is adjusted so that itdoes not add to the overhead in monitoring the system.IV NEURAL NETWORKAs neural networks are best suited to handle complexsystems and also have ability to learn based on the traineddata set, the same is used in the proposed architecture. Asshown in Fig. 1, Neural Network will have p inputs, aspecified number of nodes in the hidden layer and one ormore output nodes. The neural network used in this controlarchitecture is a feed forward network. The activationfunction used is sigmoid function. It is this function thatgives the neural network the ability to learn and produce anoutput for which it is not trained. However, the neuralnetworks need a well defined training data set for theirproper functioning.Figure 1. Basic Neural Network StructureThe neural networks work in phases. In the first phase,the network is trained using a well defined training set for adesired output. In the second phase a new input is presentedto the network that may or may not be part of the trainingdata set and network produces a meaningful output. For theproper working of the neural network, it is important tochoose a proper activation function, learning rate, number of training loops and sizeable number of nodes in the hiddenlayer.V. PROPOSED ARCHITECTUREFig. 2 Shows the architecture employed for identifyingthe symptoms and altering key system parameters. TheDBMS system log file will be the primary source of information that helps in checking the health of the system.Since, the log file contains huge of amount of data, the datais first compressed into smaller information base by using adata mining tool. The architecture has Data Miner, NeuralNetwork aggregator and Tuner as the basic building blocks.After, extracting meaningful information, the next step is toestimate the extent of correction required.
Db_cache_sizeShared_pool_size
Buffer Hit RatioAvg_table_sizeAvg_table_size
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010122http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
 
Figure 2. Neural Network based Tuning ArchitectureAs suggested in[2] physical tuning should be avoided asit is expensive. Most importantly the internal correctivemeasure such as altering the buffer size of the DBMS usedin query processing is explored in this architecture.However, several parameters can be altered simultaneouslyfor better performance gain. The Neural network estimatesthe required buffer size based on the current DBMS inputparameters and the tuner applies the necessary correction tothe buffer size based on the tuning rules. The tuner triggers acontrol action to fine tune the performance of the dbmsbased on the following algorithm
ALGORITHM
dbTune(ESTMTD_DB_CACHE_SZ)
Begin
Compute the change in response time sincelast modification (
Rtime)If (
Rtime >0 and
Rtime > Rth)Increase the new buffer_size to nexthigher granule sizeIssue a command to alter the dbcache sizeto the new valueElseIf(
Rtime <0 and
Rtime < Rth)Decrease the new buffer size to next lowergranule size.Issue a command to alter the dbcache sizeto the new value
End
VI. EXPERIMENTAL RESULTTable I shows the sample training data. A training dataset of size 100 was used to train the Neural Network. As canbe seen from the table, the buffer size is adjusted forincreased table size, Number of user processes and BufferMiss Ratio so that query execution time is reduced and thememory is used efficiently.Tab. Size(in no. of records)Buff.MissRatioShared Poolsize (in MB)Buff. Size(in MB)
1000 0.9824 32 41000 0.9895 32 41000 0.9894 32 81000 0.9505 32 82000 0.947 32 82000 0.9053 40 82000 0.8917 40 162500 0.875 40 16
Table I. Sample Training Data SetThe experiment was carried on Oracle 9i with a 3-input2-output feed forward neural network with 100 internalnodes. The training is carried with an epoch value of 100,learning rate of 0.4 and with a training dataset of size 100.The estimated buffer size generated by the Neural Network isbased on the dynamic values of the above three parametersas input. The tuner takes this input and alters the buffer size.The results obtained are really promising. As can be seenfrom the output in Fig. 4 the execution time is significantlylower for the increasing value of the buffer size. The queryused takes join of three tables and generate huge dataset asresult.Fig. 3 shows the effect of buffer cache size on the queryresponse time. TPC-C type benchmark load was used whichrepresents an OLTP type load. As number of users growbeyond 12, the query response time starts rises rapidly. Thisis sensed by the neural network and calculates an appropriatesize of the new buffer size. The tuner uses the tuning rules toapply the required correction. The tuning rules indicate whenand at what interval of the buffer size, the correction is to beapplied. Tuning the DBMS frequently may affect theperformance and also lead to instability.
0204060801001201400 5 10 15 20 25
No. of Users
   R  e  s  p  o  n  s  e   T   i  m  e   (  m  s  e  c  s   )
With TuningWithout Tuning
 Figure 3. Effect of Buffer size on Query Response Time
DBMSLogFileDataMinerNeuralNetworkbasedAggregatorTunerTuningRulesDBA
Buff_Miss_ratio
No. of Users
Avg_Table_size
New Buff_Cache_SizeNew Shared Pool_Size
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 1, April 2010123http://sites.google.com/site/ijcsis/ISSN 1947-5500

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->