Logo do repositório
 
Publicação

Consistent and Efficient Application Caching

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapt_PT
dc.contributor.advisorPreguiça, Nuno
dc.contributor.advisorLeitão, João
dc.contributor.authorMendes, Francisco Ramos de Deus
dc.date.accessioned2024-02-15T10:50:15Z
dc.date.available2024-02-15T10:50:15Z
dc.date.issued2023-11
dc.description.abstractApplication caching has become extremely popular and vital to today’s Web applications and services, becoming a core component of these systems. Application caching consists of integrating a caching layer into the existing application and storing data and computation results from the database. It significantly improves performance by producing faster responses and reducing overall system load. However, while this level of caching provides better latency and scalability for the applications and services that use it, there are some complex challenges to consider. One of the primary challenges is to guarantee that the data in the cache remains consistent with the data stored in the database when concurrent requests are issued to the application. The integration of mechanisms in the application to ensure this consistency can be complex and is often overlooked, leading to the return of stale data or the unnecessary invalidation of still up-to-date data from the cache. If this issue remains unresolved, it leads to consistency or performance problems for the application, ultimately defeating the purpose of using an application cache. In this dissertation, we propose a system named ClearCache, which addresses this consistency problem. It was designed as an integrated library that can be used in applications that make use of MongoDB as their database, and it includes the logic required to write to and access data from a Redis cache instance automatically. Through the use of timestamps and Redis functionalities, it transparently manages the consistency between the database and cache layers. Lastly, we present an experimental evaluation, where the results showthat ClearCache enables better performance for applications that use it, reducing latency and increasing performance. In addition to its efficiency, it is also simple to usept_PT
dc.description.abstractO caching aplicacional tornou-se extremamente popular e vital para as aplicações e serviços Web atuais, tornando-se um componente central destes sistemas. O caching aplicacional consiste na integração de uma camada de cache na aplicação existente e na sua utilização para armazenar dados e o resultado de cálculos provenientes da base de dados. Proporciona melhorias significativas de desempenho ao produzir respostas mais rápidas e ao reduzir a carga global do sistema. No entanto, embora este nível de caching proporcione uma melhor latência e escalabilidade para as aplicações e serviços que o utilizam, existem alguns desafios complexos a considerar. Um dos principais desafios é garantir que os dados presentes na cache permanecem consistentes com os dados armazenados na base de dados quando são efetuados pedidos concorrentes à aplicaçãoWeb. A integração de mecanismos na aplicação para garantir esta consistência pode ser complexa e é frequentemente negligenciada, levando ao retorno de dados obsoletos ou à invalidação desnecessária de dados ainda corretos da cache. Se esta questão não for resolvida, irá resultar em problemas de consistência ou de desempenho para a aplicação, acabando por anular o objetivo da utilização de uma cache de aplicação. Nesta dissertação, propomos um sistema designado ClearCache, que aborda este problema de consistência. Foi implementado como uma biblioteca integrada que pode ser usada em aplicações que utilizam o MongoDB como base de dados, e inclui a lógica necessária para escrever e aceder automaticamente a dados de uma instância de cache Redis. Através do uso de timestamps e funcionalidades do Redis, o sistema gere de forma transparente a consistência entre as camadas de banco de dados e cache. Por fim, apresentamos uma avaliação experimental, onde os resultados mostram que o ClearCache permite um melhor desempenho das aplicações que o utilizam, reduzindo a latência e aumentando a performance. Para além da sua eficiência, é também simples de utlizar.pt_PT
dc.identifier.urihttp://hdl.handle.net/10362/163560
dc.language.isoengpt_PT
dc.subjectApplication cachingpt_PT
dc.subjectConsistencypt_PT
dc.subjectConcurrencypt_PT
dc.subjectInvalidationpt_PT
dc.subjectTransparent cachingpt_PT
dc.titleConsistent and Efficient Application Cachingpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMASTER IN COMPUTER SCIENCE AND ENGINEERINGpt_PT

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
Mendes_2023.pdf
Tamanho:
2.51 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
348 B
Formato:
Item-specific license agreed upon to submission
Descrição: