Resumo (PT):
Nos dias de hoje, todas as organizações necessitam de partilhar e guardar informação para
consultas futuras, sendo que quanto maior for a organização, maior será o fluxo da circulação de
dados, e maior serão o número de pessoas a aceder concorrentemente a toda a informação. É através
das bases de dados centrais que é possível manter esta informação coerente e acessível a todos
sempre que necessária. Quando uma organização cresce ao ponto de saturar a largura de banda
ou a capacidade de processamento da base de dados, é necessário arranjar formas inovadoras para
se conseguir expandir e manter a qualidade dos serviços. Normalmente é nos acessos às bases
de dados onde se encontra o ponto de estrangulamento do sistema, tornado-se numa área onde
existe uma forte necessidade de tornar o mais eficiente possível. Uma abordagem que nos últimos
tempos tem ganho algum momentum e que na maior parte das situações é suficiente, é através
da utilização de sistemas de cache in-memory para guardar temporariamente os dados mais frequentemente
utilizados. No entanto no caso de existir a necessidade de colocar em memória um
data-set (ou parte dele), não existe forma de serem efectuadas pesquisas directamente nestas tecnologias
por terem normalmente uma arquitectura do tipo key-store, semelhante a um dicionário.
As alternativas actuais passam pela utilização bases de dados híbridas, que colocam o data-set em
memória mas que precisam de persistir os dados num meio de armazenamento mais lento.
O trabalho efectuando nesta tese teve o objectivo de pesquisar e determinar se seria possível
implementar uma framework de cache in-memory pesquisável e de alta performance, continuando
a manter as características de um sistema de cache in-memory.
Abstract (EN):
Nowadays, all organizations need to share and store information for future reference, and the
larger the organization is the greater will be the flow of data and the number of persons accessing
it concurrently. It is through a central databases that is possible to keep all this information consistent
and accessible whenever needed. When a organization grows to the point of saturating the
bandwidth or processing power of their database, it is necessary to think of innovative ways to
keep their quality of service. Usually most system bottlenecks are located in the database access,
being this one of the most important places to keep as efficient as possible. One approach that
recently is gaining some momentum and that in most situations its enough, is by using in-memory
caching systems to temporarily store the most frequently used data. However if there is the need
to store a data-set (or part of it), there is no way to make a search in this data because this systems
typically have a key-store architecture, similar to a dictionary. The current alternatives are the use
of hybrid databases, which place in memory the current data-set, but still need a slower storage
medium.
The work done in this thesis had the objective to research and determine whether it would
be possible to implement a high efficiency and searchable in-memory caching framework while
maintaining the characteristics of an in-memory caching system.
Idioma:
Português
Tipo (Avaliação Docente):
Científica
Tipo de Licença: