1 |
[en] A NON-INTRUSIVE APPROACH FOR AUTOMATED PHYSICAL DESIGN TUNING / [pt] UMA ABORDAGEM NÃO-INTRUSIVA PARA A MANUTENÇÃO AUTOMÁTICA DO PROJETO FÍSICO DE BANCOS DE DADOSJOSÉ MARIA DA SILVA MONTEIRO FILHO 14 January 2009 (has links)
[pt] O projeto físico de bancos de dados cumpre um papel
primordial para
assegurar um desempenho adequado. Atualmente, existe uma
grande quantidade
de trabalhos e ferramentas na área de seleção automática do
projeto
físico. Tais ferramentas, contudo, adotam uma abordagem
offline na solução
do problema e transferem para o DBA, dentre outras tarefas,
a decisão
de executar ou não as recomendações sugeridas. Todavia, em
ambientes
dinâmicos, com consultas ad-hoc, torna-se bastante complexo
identificar
configurações de projeto físico que sejam adequadas.
Recentemente, algumas
iniciativas apresentaram descrições de protótipos que
implementam funcionalidades
de sintonia automática. Estes trabalhos, porém, adotam uma
abordagem intrusiva e funcionam apenas com um SGBD
específico. Neste
trabalho, propõe-se uma abordagem não-intrusiva para a
manutenção automática e on-the-fly do projeto físico de
bancos de dados. A abordagem proposta
é completamente desacoplada do código do SGBD, pode ser
utilizada
com qualquer SGBD e executada sem intervenção humana. A
estratégia
adotada baseia-se em heurísticas que executam continuamente
e, sempre
que necessário, modificam o projeto físico corrente,
reagindo a alterações na
carga de trabalho. Para comprovar a viabilidade das idéias
apresentadas, a
abordagem proposta foi instanciada para solucionar dois
importantes problemas
relacionados ao projeto físico: a manutenção automática de
índices e de clusters alternativos de dados. / [en] The physical design of a database plays a critical role in
performance.
There has been considerable work on automated physical
design tuning for
database systems. Existing solutions require offline
invocations of the tuning
tool and depend on DBAs identifying representative workloads
manually.
However, in dynamic environments involving various ad-hoc
queries it is
difficult to identify potentially useful physical design in
advance. Recently,
a few initiatives present brief descriptions of prototypes
that address some
aspects of online physical tuning. Nevertheless, these
references work in an
intrusive manner and work only with a specific DBMS. In this
work, we propose
a non intrusive approach to automated and on-the-fly
physical design
problems, in order to speed up processing of subsequent
queries. Specifically,
we design algorithms that are always-on and continuously
modify the current
physical design, reacting to changes in the query workload.
To prove
the viability of the presented ideas, the proposed approach
was instantiated
to solve two major problems related to the database physical
design:
indexing and alternative data clusters automatic maintenance.
|
2 |
[en] DATABASE SELF-TUNING WITH PARTIAL INDEXES / [pt] SINTONIA FINA AUTOMÁTICA COM ÍNDICES PARCIAISALAIN DOMINGUEZ FUENTES 27 April 2017 (has links)
[pt] Os índices parciais são estruturas de acesso no nível físico dos bancos de dados que permitem definir um subconjunto das tuplas de uma tabela, através de uma expressão condicional. Nesta dissertação estuda-se a identificação e subsequente criação automática de índices parciais que possam contribuir na melhoria do desempenho de um sistema de banco de dados. É proposto um algoritmo que examina, para cada consulta relevante, os conjuntos de atributos indexáveis para os quais a criação de um índice parcial poderia influenciar o otimizador de consultas na geração de planos mais eficientes. É realizada uma mineração de padrões de atributos indexáveis para se obter atributos correlacionados segundo a frequência das consultas na carga de trabalho considerada. Chega-se a uma proposta para um conjunto de índices parciais candidatos também se considerando uma heurística de benefícios. Realiza-se uma análise de sintonia fina em função da seleção de uma configuração de índices parciais e índices completos. A implementação das técnicas e algoritmos propostos nesta pesquisa é feita no framework DBX, que permite instanciar técnicas de sintonia fina local e global para bancos de dados relacionais. / [en] Partial indexes are access structures on the physical level of the databases. They are indexes that allow the definition of a subset of tuples in a table through a conditional expression. This dissertation studies the identification and subsequent automatic creation of partial indexes that can contribute in improving the performance of a database system. We propose an algorithm that examines, for each relevant query, the indexable attributes set, for which the creation of a partial index could influence the query optimizer to generate plans that are more efficient. We perform data mining on indexable attributes patterns to obtain correlated attributes according to their frequency in queries within the particular workload. We obtain a proposal for a set of candidate partial indexes considering also a benefit heuristics. We may consider a self-tuning analysis of an index configuration with both complete and partial indexes. We have implemented techniques and algorithms proposed in this research into DBX, a framework that allows local and global self-tuning regarding relational databases.
|
3 |
[en] PARTITIONING AS A TUNING ACTION FOR RELATIONAL DATABASES / [pt] PARTICIONAMENTO COMO AÇÃO DE SINTONIA FINA EM BANCOS DE DADOS RELACIONAISANTONY SEABRA DE MEDEIROS 27 July 2017 (has links)
[pt] As principais estratégias de sintonia fina utilizadas por administradores de bancos de dados relacionais são a construção de estruturas de acesso, como índices, índices parciais e visões materializadas, e técnicas como desnormalização e reescrita de consultas. Estas técnicas e estruturas de acesso, juntas ou separadas, podem melhorar o desempenho das consultas submetidas ao banco de dados. O particionamento de tabelas do banco de dados, técnica tradicionalmente utilizada para distribuição de dados, também possui potencial para sintonia fina, pois permite que a varredura das tabelas seja realizada
somente nas partições que satisfazem os predicados das consultas. Mesmo em consultas com predicados de seletividade alta, cujos planos de execução frequentemente utilizam índices, o particionamento pode oferecer um benefício ainda maior. Esta dissertação de mestrado propõe avaliar o particionamento
como ação de sintonia fina de bancos de dados relacionais e, para tanto, desenvolve heurísticas para seleção de estratégias de particionamento e avaliação do seu benefício. Uma avaliação da qualidade dos resultados obtidos é realizada através de experimentos com um benchmark padrão para este tipo de pesquisa e mostramos que, em certos casos, é vantajoso particionar dados. / [en] The main fine tuning strategies used by relational database administrators are the construction of access structures, such as indexes, partial indexes and materialized views, and techniques such as denormalization and query rewriting. These techniques and access structures, together or separately, can improve the performance of queries submitted to the database. Database partitioning, a technique traditionally used for data distribution, has also the potential for fine tuning, since it allows the scanning of tables to be performed only on partitions that satisfy query predicates. Even in queries with high selectivity predicates, whose execution plans often use indexes, partitioning can offer even greater benefit. This dissertation proposes to evaluate the partitioning as a fine tuning action of relational databases and, for that, develops heuristics for selection of partitioning strategies and evaluation of its benefit. An evaluation of the quality of the results obtained is carried out through experiments with a standard benchmark for this type of research and we have shown that, in certain cases, it is advantageous to partition data.
|
4 |
[en] TUNING OF DATABASE MANAGEMENT SYSTEMS IN VIRTUALIZED ENVIRONMENTS / [pt] SINTONIA FINA DE SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS EM AMBIENTES VIRTUALIZADOSLIESTER CRUZ CASTRO 29 May 2018 (has links)
[pt] Devido à enorme quantidade de dados nas aplicações atuais, observa-se o uso
crescente dos Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDR)
em ambientes virtualizados. Isto contribui para aumentar os requisitos das
operações de entrada e saída (E/S) das cargas de trabalho relacionadas. É
introduzida uma grande sobrecarga para aplicações intensivas em operações de E/S,
devida à virtualização dos dispositivos e ao escalonamento das máquinas virtuais.
Este trabalho tem por objetivo propor estratégias que permitam aumentar o
rendimento das operações de E/S gerenciadas pelos SGBDR em ambientes
virtualizados. Por meio da alocação de recursos computacionais, realizamos uma
sintonia fina nas ações do escalonador do ambiente virtualizado e também nos
parâmetros dos bancos de dados envolvidos. Para isso, foi desenvolvido um sistema
que trabalha de maneira coordenada com as diferentes camadas de virtualização.
Foram realizados experimentos que permitem avaliar e medir o impacto da
abordagem aqui proposta. / [en] Due to the huge amount of data present in current applications there is a
growing use of Relational Database Management Systems (RDBMS) in virtualized
environments. This fact increases the workloads input/output (I/O) requirements
with respect to the corresponding workloads. This is due to resources virtualization
and virtual machines scheduling. Our work s goal is to propose strategies that
enable better performances for the I/O operations managed by the RDBMS.
Considering an intelligent assignment of computational resources, we have
executed fine tuning actions at the virtualized environment and on database
parameters. We consider a system that works coordinately with distinct
virtualization layers. We show some experimental results that evaluate and measure
the impact of our proposed approach.
|
5 |
[en] WORKLOAD BALANCING STRATEGIES FOR PARALLEL BLAST EVALUATION ON REPLICATED DATABASES AND PRIMARY FRAGMENTS / [pt] ESTRATÉGIAS DE BALANCEAMENTO DE CARGA PARA AVALIAÇÃO PARALELA DO BLAST COM BASES DE DADOS REPLICADAS E FRAGMENTOS PRIMÁRIOSDANIEL XAVIER DE SOUSA 07 April 2008 (has links)
[pt] Na área de biologia computacional a busca por informações
relevantes em meio a volumes de dados cada vez maiores é
uma atividade fundamental.
Dentre outras, uma tarefa importante é a execução da
ferramenta BLAST (Basic Local Alignment Search Tool), que
possibilita comparar biosseqüências a fim de se descobrir
homologias entre elas e inferir as demais
informações pertinentes. Um dos problemas a serem
resolvidos no que diz respeito ao custo de execução do
BLAST se refere ao tamanho da base de dados, que vem
aumentando consideravelmente nos últimos anos. Avaliar o
BLAST com estrat´egias paralelas e distribuídas com apoio
de agrupamento de computadores tem sido uma das estratégias
mais utilizadas para obter ganhos de desempenho. Nesta
dissertação, é realizada uma alocação física
replicada da base de dados (de seqüências), onde cada
réplica é fragmentada
em partes distintas, algumas delas escolhidas como
primárias. Dessa
forma, é possível mostrar que se aproveitam as principais
vantagens das estratégias de execução sobre bases
replicadas e fragmentadas convencionais,
unindo flexibilidade e paralelismo de E/S. Associada a essa
alocação particular da base, são sugeridas duas formas de
balanceamento dinâmico da carga de trabalho. As abordagens
propostas são realizadas de maneira não
intrusiva no código BLAST. São efetuados testes de
desempenho variados que demonstram não somente a eficácia
no equilíbrio de carga como também
eficiência no processamento como um todo. / [en] A fundamental task in the area of computational biology is
the search
for relevant information within the large amount of
available data.
Among others, it is important to run tools such as BLAST -
Basic Local
Alignment Search Tool - effciently, which enables the
comparison of
biological sequences and discovery of homologies and other
related information.
However, the execution cost of BLAST is highly dependent on
the
database size, which has considerably increased. The
evaluation of BLAST
in distributed and parallel environments like PC clusters
has been largely
investigated in order to obtain better performances. This
work reports a
replicated allocation of the (sequences) database where
each copy is also
physically fragmented, with some fragments assigned as
primary. This way
we show that it is possible to execute BLAST with some nice
characteristics
of both replicated and fragmented conventional strategies,
like flexibility
and I/O parallelism. We propose two dynamic workload
balancing strategies
associated with this data allocation. We have adopted a non-
intrusive
approach, i.e., the BLAST code remains unchanged. These
methods are implemented
and practical results show that we achieve not only a
balanced
workload but also very good performances.
|
6 |
[en] PARALLEL PROGRAMING IN THE REDIS KEY-VALUE DATASTORE / [pt] PROGRAMAÇÃO PARALELA NO BANCO DE DADOS CHAVE-VALOR REDISJUAREZ DA SILVA BOCHI 12 April 2016 (has links)
[pt] Redis é um banco de dados chave-valor de código livre que dá suporte à
avaliação de scripts Lua, mas sua implementação utiliza apenas uma tarefa
de sistema operacional. Scripts longos são desencorajados porque a avaliação
do código é bloqueante, o que pode causar degradação de desempenho para
os demais usuários. Através da aplicação do modelo de concorrência M:N,
que combina tarefas de nível de sistema operacional com tarefas do nível
de usuário, adicionamos no Redis a capacidade de execução de scripts em
paralelo, permitindo que todos os núcleos do servidor sejam explorados.
Com a utilização de corotinas Lua, implementamos um escalonador capaz
de alocar e suspender a execução de tarefas de nível de usuário nos núcleos
disponíveis sem necessidade de alteração do código dos scripts. Este modelo
permitiu proteger o programador das complexidades naturais do paralelismo
como sincronização no acesso a recursos compartilhados e escalonamento
das tarefas. / [en] Redis is an open source key-value database that supports Lua programming
language scripts, but it s implementation is single threaded. Long running
scripts are discouraged because script evaluation is blocking, which may
cause service levels deterioration. Applying the M:N threading model,
which combines user and operating system threads, we added to Redis the
ability of running scripts in parallel, leveraging all server cores.With the use
of Lua coroutines, we implemented a scheduler able to allocate and suspend
user-level tasks in the available cores without the need of changing scripts
source code. The M:N model allowed us to protect the programmer from the
natural complexities that arise from parallel programming, such as access
to shared resources synchronization and scheduling of tasks into different
operational system threads.
|
7 |
[en] A NOVEL SOLUTION TO EMPOWER NATURAL LANGUAGE INTERFACES TO DATABASES (NLIDB) TO HANDLE AGGREGATIONS / [pt] UMA NOVA SOLUÇÃO PARA CAPACITAR INTERFACES DE LINGUAGEM NATURAL PARA BANCOS DE DADOS (NLIDB) PARA LIDAR COM AGREGAÇÕESALEXANDRE FERREIRA NOVELLO 19 July 2021 (has links)
[pt] Perguntas e Respostas (Question Answering - QA) é um campo de estudo dedicado à construção de sistemas que respondem automaticamente a perguntas feitas em linguagem natural. A tradução de uma pergunta feita em linguagem natural em uma consulta estruturada (SQL ou SPARQL) em um banco de dados também é conhecida como Interface de Linguagem Natural para Bancos de Dados (Natural Language Interface to Database - NLIDB). Os sistemas NLIDB geralmente não lidam com agregações, que podem ter os seguintes elementos: funções de agregação (como contagem, soma, média, mínimo e máximo), uma cláusula de agrupamento (GROUP BY) e uma cláusula HAVING. No entanto, eles fornecem bons resultados para consultas normais. Esta dissertação aborda a criação de um módulo genérico, para ser utilizado em sistemas NLIDB, que permite a tais sistemas realizar consultas com agregações, desde que os resultados da consulta que o NLIDB retorna sejam, ou possam ser transformados, em um resultado no formato tabular. O trabalho cobre agregações com especificidades como ambiguidades, diferenças de escala de tempo, agregações em atributos múltiplos, o uso de adjetivos superlativos, reconhecimento básico de unidade de medida, agregações em atributos com nomes compostos e subconsultas com funções de agregação aninhadas em até dois níveis. / [en] Question Answering (QA) is a field of study dedicated to building systems that automatically answer questions asked in natural language. The translation of a question asked in natural language into a structured query (SQL or SPARQL) in a database is also known as Natural Language Interface to Database (NLIDB). NLIDB systems usually do not deal with aggregations, which can have the following elements: aggregation functions (as count, sum, average, minimum and maximum), a grouping clause (GROUP BY) and a having clause (HAVING). However, they deliver good results for normal queries. This dissertation addresses the creation of a generic module, to be used in NLIDB systems, that allows such systems to perform queries with aggregations, on the condition that the query results the NLIDB return are, or can be transformed into, a result set in the form of a table. The work covers aggregations with specificities such as ambiguities, timescale differences, aggregations in multiple attributes, the use of superlative adjectives, basic unit measure recognition, aggregations in attributes with compound names and subqueries with aggregation functions nested up to two levels.
|
Page generated in 0.0285 seconds