\section{Related Works}\label{Related}
Performance Evaluation of DB systems has been explored since the initial proposals of DB technologies \cite{Klaus1984} \cite{Adams1985}. 
However, with the web advent, DB systems have embodied new features, necessary to supply emergent requirements, as parallel and distributed extensions \cite{Jim1992}, object \cite{Kim2002} and service orientation \cite{Bressan2006}, etc. 
Although these new concepts have played an essential technological role, evaluating their performance is difficult due to the variable and data-intensive environments where they are immersed. 

In \cite{Ranganathan1998} the authors discuss the impact of radically different workload levels on the performance of DB applications and how it becomes an important concern when it is necessary to provide service guarantees. 
Still, \cite{Krompass2008} focuses on to separate the requests belonging to different levels of workloads, which allow to adopt particular policies when performing them. 

Also, in \cite{Lumb2003} is developed an approach for guaranteeing DB performance levels in highly variable scenarios. Through a developed tool, the authors suggest retain and divert transactions that could saturate the system and cause performance looses. Thus, they avoid violating the agreed service clauses.

In \cite{Bianca2006}, the authors develop the framework EQMS (External Queue Management System), that acts externally to the DB system, filtering the arrival of DB requests and so scheduling where and when each transaction is dispatched to the DBMS. Among the benefits provided by the EQMS, is the possibility of labeling requests before their execution, composing classes of similar transactions to be performed according to QoS rules and/or priorities polices. 

In fact, the existent proposals seem effective for dealing with DB transactions in their real environment, estimating and improving their qualitative metrics. 
However, specially when interacting with service partnerships, the business managers need to be aware on the capacity planning and SLA negotiation issues. 
Usually, these information are required at design-time, in order to compose SLA clauses. 
Then, most of the existent alternatives for DB performance evaluation, although efficient, can be useless for this purpose.

%\textcolor{red}{ To try to calculate the users' external certain application load can be an alternative to be considered when of the elaboration of the contractual clauses of load fixation and service quality. Be considered, for example, an application of emission of invoices in electronic way, through world net of computers, where we can esteem and even defining mathematically how many taxpayers (users) they will be embraced, and, in that way, to determine eventual critical points in its processing. Even so, that is not a viable alternative to all the applications, since, for some, not always it is possible to determine the amount of people that probably will use of the tool if available on line. This way, to compose SLA clauses, the kind of application could turn easy or difficult its structuration.}


An option to cover these gaps is by adopting analytic models. 
In \cite{Tomov2004}, for example, the authors suggest adopting a queueing networks approach for DB response time estimation. The DB execution time is estimated by mapping DB queries according to patterns of resource consumption. Meanwhile, queue times are predicted through using heuristic rules \cite{Tomov1997}. 
Similarly, \cite{Osman2010} develop an approach to evaluate a particular DB design before its implementation. 
In fact, these proposals seem closed with ours, since are focused on predictive organizational support.

However, analytic models are shown to be predominantly deterministic, which does not often match the characteristics of the real web environments \cite{Teixeira2010}. 
Moreover, they can be inflexible when adopting different probability distribution, in order to variate the modeled system behavior. 
Still, their accuracy can be degraded when representing queues times. 

The problem is that, in practice, there is no predictable execution patterns for distributed web transactions and, certainly, it makes critical any type of performance estimation \cite{Nicola2000}. 
Therefore, one can imagine how difficult is provisioning storage resources to ensure that database queries will execute enough quickly that will not delay the process more than the expected \cite{Reiss2005}. %In fact, there are often several ways to obtain answers from a DB and, for this reason, it is complicated efficiently predicting their performance.
In this sense, we suggest that a stochastic simulation approach can absorb most of these drawbacks and, as we shall describe, it can be powerful from a SLA planning point of view.



%Nowadays there exist tools for monitoring SOA transactions, indicating the current QoS levels for several kinds metrics. However, knowing these parameters at runtime is useless, since 
%As the clients are usually required to pay for a SLA before receiving the requested service, it is usual to check this parameters at run-time through monitoring tools. 
