ŞEYH ALÂEDDİN ALİ ES-SEMERKANDÎ VE TEFSİRİ BAHRU’L-ULÛM ÜZERİNE YAPILAN SPEKÜLATİF
4- Şeyh Ali Semerkandî ve Şeyh Alâeddin Ali’nin Kimliği Üzerine Değerlendirmeler
Do ponto de vista do usu´ario, um servi¸co de banco de dados executa bem se os requisitos de desempenho e disponibilidade que o usu´ario contrata s˜ao cumpridos. Um primeiro ponto ´e traduzir os requisitos de desempenho definidos pelo usu´ario em um conjunto comum de m´etricas que podem ser obtidos por meio do monitoramento. Exemplos de tais m´etricas incluem o tempo de resposta e vaz˜ao. O tempo de resposta m´edio ´e uma das formas mais comuns para verificar a qualidade do servi¸co.
Em diferentes contextos, ´e importante estabelecer metas mais gerais para o QoS [Schroeder et al., 2006], tais como o percentil, onde x% dos tempos de resposta s˜ao in- feriores a um valor y. O percentil ´e solicitado pelos usu´arios como componente de um SLA, por exemplo, para garantir que pelo menos 90% das transa¸c˜oes dos clientes tenha um tempo de resposta abaixo de um limite especificado [Entrialgo et al., 2011]. Para cada m´etrica do SLA, pode-se utilizar um algoritmo para calcular as m´etricas do SLA. O SLADB utiliza a seguinte estrat´egia:
❼ Tempo de reposta: percentil x% dos tempos de resposta inferiores a um valor y durante um per´ıodo de tempo t.
❼ Vaz˜ao: percentil z% de vaz˜ao maiores a um valor k durante um per´ıodo de tempo t.
❼ Disponibilidade: fun¸c˜ao atendido/n˜ao-atendido ❼ Consistˆencia: fun¸c˜ao atendido/n˜ao-atendido.
O SLADB utiliza o intervalo de tempo de uma hora para verificar as penalidades do SLA, visto que este valor ´e utilizado pela maioria dos provedores para a tarifa¸c˜ao
de recursos. Para definir os limites de monitoramento, adotou-se estados para o SLA, conforme mostra a Figura 4.2. Utilizou-se uma escala para o tempo de resposta/vaz˜ao e estados atendido e n˜ao atendido para a disponibilidade e consistˆencia.
Figura 4.2 Estados do SLA.
❼ Baixo: O SLA ´e menor do que o definido para a aplica¸c˜ao. Neste estado, recursos podem ser removidos do sistema.
❼ Definido: O n´ıvel definido ´e dividido em ideal e toler´avel. Na faixa ideal, o SLA ´e mantido dentro um intervalo aceit´avel (valor de 80%), mas pode-se configurar outros valores de acordo com os requisitos da aplica¸c˜ao. Na faixa toler´avel, o SLADB intensifica o monitoramento do sistema de forma a preparar a adi¸c˜ao de recursos.
❼ Falha: Neste n´ıvel, ocorreu uma falha em rela¸c˜ao ao SLA. Neste caso, o provedor ´e penalizado de acordo com a quantidade de consultas no n´ıvel de falha e novos recursos devem ser adicionadas rapidamente para retornar ao n´ıvel definido.
A disponibilidade de um sistema pode ser obtida a partir de indicadores de fa- lhas de seus componentes, tais como o Mean Time Between Failures (MTBF) e Mean Time To Repair (MTTR). Define-se MTBF como o tempo m´edio (normalmente medido em horas) entre duas falhas consecutivas de um componente ou servi¸co. O MTTR re- presenta o tempo m´edio para se reparar uma falha identificada. Esta medida inclui o per´ıodo de tempo para detectar o problema, diagnosticar e solucionar o mesmo. As- sim, a disponibilidade de um sistema ´e dada pela f´ormula MTBF/(MTBF + MTTR) [Tanenbaum and Steen, 2006].
4.3. Modelo de Qualidade de Servi¸co para BD em Nuvem 56
A consistˆencia da aplica¸c˜ao pode ser verificada por meio de t´ecnicas propostas por [Zellag and Kemme, 2012], que permitem detectar anomalias de consistˆencia para aplica¸c˜oes e n˜ao requerem nenhum conhecimento sobre a l´ogica das aplica¸c˜oes. A detec¸c˜ao de anomalias consiste na constru¸c˜ao e verifica¸c˜ao de gr´afico de dependˆencia durante a execu¸c˜ao, permitindo identificar os itens de dados que est˜ao inconsistentes.
Devido `a sua representatividade, o tempo de resposta e a vaz˜ao s˜ao m´etricas de desempenho de alto n´ıvel que precisam ser obtidas e analisadas. Os valores dessas m´etricas s˜ao dependentes do estado do SGBD. Quando ele n˜ao est´a sobrecarregado, os valores s˜ao quase constantes. Entretanto, quando o sistema de banco de dados est´a sobrecarregado, os valores crescem linearmente e depois, exponencialmente. Assim sendo, ´e necess´ario ter mecanismos eficazes para detectar a aumento ou diminui¸c˜ao destes valores [Malkowski et al., 2010].
Existem v´arios m´etodos para avaliar o desempenho de servi¸cos em nuvem. Con- tudo, a natureza aleat´oria da demanda do usu´ario e as mudan¸cas constantes na carga de trabalho ao longo do tempo tornam complexo o planejamento de capacidade em um curto per´ıodo de tempo. Isso ocasiona alguns problemas: (i) a carga de trabalho muda constantemente, implicando em uma atualiza¸c˜ao cont´ınua da configura¸c˜ao do sistema e este pode ficar sobrecarregado devido `a execu¸c˜ao dos procedimentos de adi¸c˜ao e remo¸c˜ao de recursos; (ii) a quantidade e a precis˜ao de dados coletados deve refletir o estado atual do sistema.
O tempo de resposta e vaz˜ao do servi¸co podem variar muito em curtos per´ıodos de tempo e ´e necess´ario filtrar essa variabilidade para obter um padr˜ao regular e evitar adi¸c˜ao ou remo¸c˜ao de recursos. O SLADB utiliza uma estrat´egia similar a [Fito et al., 2010] para calcular os dados coletados. A coleta ´e realizada seis vezes com o intervalo de 10 segundos. Para cada coleta, o SLADB calcula a mediana e desvio-padr˜ao do tempo de resposta. As duas medianas com menor desvio s˜ao selecionadas para obter os valores finais a serem armazenados.
Com os valores de tempo de resposta coletados, aplica-se uma m´edia ponderada exponencial X′
t= α Xt+ (1 - α) Xt−1, onde α ´e o fator de pondera¸c˜ao (0 ≤ α ≤ 1). Nesta
m´edia, os valores mais recentes tˆem maior peso, com o peso declinando exponencialmente `a medida que esses valores se tornam ultrapassados. O fator de pondera¸c˜ao pode ser determinado experimentalmente, utilizando uma combina¸c˜ao de benchmarks com cargas artificiais e aplica¸c˜oes com cargas reais. Esta t´ecnica de monitoramento ´e semelhante `a
adapta¸c˜ao de sobrecarga de servi¸cos de internet [Welsh and Culler, 2003].
As m´etricas do SLA s˜ao calculadas diretamente no provedor de servi¸co, pois ´e complexo realizar medi¸c˜oes no cliente em virtude das varia¸c˜oes na qualidade da conex˜ao. Contudo, muitos provedores de Internet fornecem solu¸c˜oes para melhorar a qualidade da conex˜ao, por exemplo, Virtual Private Network (VPN), que podem ajudar na qualidade geral do sistema [Pierre and Stratan, 2012].