5 research outputs found
OptImatch: System with Knowledge Base for Query Performance Problem Determination of Query Execution Plans
TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Engenharia de Controle e Automação.A determinação de problemas de performance de queries de banco de dados é normalmente
feita analisando os planos de execução de queries, ou em inglês, query execution plan
(QEP), além de outras propriedades de performance. Algumas ferramentas de diagnose
de performance no mercado tem a capacidade de analisar queries problemáticas, porém
elas estão limitadas a comparar as queries com um número limitado de padrões prédefinidos.
Ainda mais, ferramentas como IBM(R) Optim Query Tuner(R) e IBM Optim
Workload Tuner(R)¹ já fazem recomendações de aperfeiçoamento de queries para problemas já conhecidos. Mesmo sendo efetivas, tais ferramentas não proporcionam a habilidade de
criar problemas padrões customizáveis devido ao fato delas não entenderem completamente
a complexa estrutura dos QEPs. Conforme os dados guardados para análise aumentam, para
poder analisá-los, a complexidade da query também aumenta. Fazer a análise manual de
QEPs tão complexas pode ser uma tarefa demorada e que requer um grande conhecimento
dos especialistas no assunto.
O presente trabalho foi desenvolvido em parceria com a IBM Centre for Advanced
Studies Toronto. IBM é uma multinacional americana, tendo como sua principal atuação o mercado de hardware, middleware e software. A ferramenta proposta está relacionada
com o sistema de banco de dados DB2 da IBM. O DB2 é um sistema de banco de dados relacionais utilizado principalmente por empresas. Devido ao grande volume de dados, o DB2 provê funcionalidades como o aperfeiçoamento de queries através da reescrita da
mesma. Ao rodar uma query no DB2, o sistema produz um plano de acesso que especifica
como os dados são obtidos das tabelas. Para a escolha do plano de acesso, o otimizador produz vários planos de acesso alternativos e seleciona aquele que tem o menor custo estimado de plano de execução.
Quando o otimizador falha, devido à experiência e tempo necessário, os usuários procuram
as empresas para sanar o problema. Na IBM, os problemas reportados por clientes são
analisados por profissionais com experiência em linguagem SQL e análise de otimizador de QEPs. Para analisar os problemas de otimização, esses profissionais utilizam de uma
ferramenta do DB2 que produz um arquivo QEP. Esses arquivos são escritos em formato
de texto legível para humanos, explicando o plano de acesso. Tais arquivos podem conter milhares de linhas e a análise manual do mesmo pode consumir muito tempo.
Visando sanar tais problemas, foi desenvolvida neste trabalho uma ferramenta chamada
OptImatch, que tem a funcionalidade de procurar por diferentes problemas padrões
dentro de um QEP e prover recomendações criadas por especialistas e salvas na base de conhecimento, abreviada por KB (knowledge base). Um grande problema das ferramentas
existentes no mercado é a falta de uma interface que provê ao usuário uma maneira de criar seu problema padrão, pois as mesmas não conseguem impor uma estrutura para os QEPs. OptImatch, através de um sistema web, provê uma interface fácil e intuitiva
para usuários criarem problemas padrões customizáveis e pesquisarem recomendações
automaticamente dentro de seus QEPs.
A solução proposta é dada pela transformação do QEP para um grafo RDF e pela pesquisa
dos problemas padrões utilizando o SPARQL como linguagem de query estruturada. Ao
fazer upload dos QEPs, a ferramenta analisa os arquivos procurando, através de expressões
regulares, as propriedades e conexões, salvando as mesmas em um arquivo RDF. Depois,
através da interface do sistema, o usuário monta seu problema padrão customizado, onde
o mesmo é enviado ao servidor e automaticamente transformado em uma query através da
linguagem SPARQL. Tal query posteriormente será utilizada para procurar o problema
customizado dentro dos arquivos RDF. Juntamente com essa pesquisa, o OptImatch
também procura pelos problemas padrões pré-definidos e guardados dentro do KB. Para
a criação das recomendações uma sintaxe própria foi criada. Através dessa sintaxe o
usuário pode utilizar tags para indicar uma porção da query, apontando para propriedades
específicas da mesma. Através dos manipuladores de tags, a ferramenta proposta substitui
as tags pelos resultados obtidos, criando assim uma recomendação mais específica para
cada usuário.
Mesmo que a ferramenta descrita nesse trabalho seja focada em determinação de problemas
de performance de queries, a mesma pode ser aplicada para qualquer tipo de software de
determinação de problemas genéricos. OptImatch necessita somente que tais softwares
produzam um arquivo de diagnóstico estruturado que necessita analise futura.
Por fim, cinco experimentos são apresentados neste trabalho. O principal foco desses experimentos
é analisar a efetividade da pesquisa da ferramenta em 1000 QEPs de usuários reais
da IBM, avaliando a performance e escalabilidade da ferramenta em termos de quantidade
de QEP, número de low level plan operators (LOLEPOPs) e número de recomendações.
Também foi feito uma analise do novo método de pesquisa da ferramenta, comparando a
mesma com o método anterior. Por último, foi realizado um estudo comparativo entre a
velocidade e precisão da ferramenta proposta e os métodos de pesquisa hoje utilizados na
IBM, mostrando os benefícios que o OptImatch poderá trazer a empresa. ¹IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might
be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web
at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtmlQuery performance problem determination in databases is often done by analyzing query execution plans (QEPs) in addition to other properties. The majority of performance
diagnostic tools help identify problematic queries. Unfortunately, most query tuning tools
provide recommendations to only few known problems. Furthermore, manual analysis of QEPs requires deep knowledge in both SQL and analyzing optimizers as the complexity of the query workloads in companies increase. A tool called OptImatch was created to provide a simple way to search different problem patterns created by users in QEPs.
Moreover, OptImatch matches and provides recommendations, created by experts and users, stored in a knowledge base. The proposed tool transforms the QEP into a RDF graph and automatically generate a SPARQL query from a user-based problem pattern described in the GUI by the use of handlers. The SPARQL query is then run against the
RDF graph and any matching portion is returned to the user. OptImatch also searches for predefined problem patterns by scanning the knowledge base against the RDF graph, returning a recommendation for any match. In the running time, the system adapts the
recommendation to the user through the handler tagging interface. An analysis of the
performance and scalability of the system was performed using a real-world query workload.
Also, a comparative user study was performed to evaluate the advantages of this tool in contrast to manual search as used inside IBM
A Monte Carlo tree search algorithm for optimization of load scalability in database systems
A thesis submitted in partial fulfilment of the requirements for the Degree of Doctor of Philosophy in Information Technology at Strathmore UniversityVariable environmental conditions and runtime phenomena require developers of complex business information systems to expose configuration parameters to system administrators. This allows system administrators to intervene by tuning the bottleneck configuration parameters in response to current changes or in anticipation of future changes in order to maintain the system’s performance at an optimum level. However, these manual performance tuning interventions are prone to error and lack of standards due to varying levels of expertise and over-reliance on inaccurate predictions of future states of a business information system. The purpose of this research was therefore to investigate on how to design an algorithm that proactively reconfigures bottleneck parameters without over-relying on an accurate model of a stochastic environment. This was done using a comparative experimental research design that involved quantitative data collection through simulations of different algorithm variants. The research built on the theoretical concepts of control theory and decision theory, coupled with the estimation of unknown quantities using principles of simulation-based inferential statistics. Subsequently, Monte Carlo Tree Search, with a variant of the selection stage, was used as the foundation of the designed algorithm. The selection stage was variated by applying a “lean Last Good Reply with Forgetting” (lean-LGRF) strategy and first tested in the context of a strategy board game, Reversi. The lean-LGRF selection strategy applied over 1,000 playouts against the baseline Upper Confidence Bound applied to Trees (UCT) selection strategy recorded the highest number of wins. On the other hand, the Progressive Bias selection strategy had a win-rate of 45.8% against the UCT selection strategy. Lastly, as expected, the UCT selection strategy had a win-rate of 49.7% (an almost 50-50 win-rate) against itself. The results were then subjected to a Chi-square (χ2) test which provided evidence that the variation technique applied in the selection stage of the algorithm had a significantly positive impact on its performance. The superior selection variant was then applied in the context of a distributed database system. This also provided compelling results that indicate that applying the algorithm in a distributed database system resulted in a response-time latency that was 27% lower than the average response-time latency and a transaction throughput that was 17% higher than the average transaction throughput