5 research outputs found

    OptImatch: System with Knowledge Base for Query Performance Problem Determination of Query Execution Plans

    Get PDF
    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

    Get PDF
    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
    corecore