Autor(es):
Coelho, Fábio André Castanheira Luís
Data: 2013
Identificador Persistente: http://hdl.handle.net/1822/27870
Origem: RepositóriUM - Universidade do Minho
Descrição
Dissertação de mestrado em Engenharia Informática NoSQL databases opt not to offer important abstractions traditionally
found in relational databases in order to achieve high levels of scalability and
availability: transactional guarantees and strong data consistency. These
limitations bring considerable complexity to the development of client applications
and are therefore an obstacle to the broader adoption of the technology.
In this work we propose a middleware layer over NoSQL databases that
offers transactional guarantees with Snapshot Isolation. The proposed solution
is achieved in a non-intrusive manner, providing to the clients the same
interface as a NoSQL database, simply adding the transactional context. The
transactional context is the focus of our contribution and is modularly based
on a Non Persistent Version Store that holds several versions of elements
and interacts with an external transaction certifier.
In this work, we present an implementation of our system over Apache
Cassandra and by using two representative benchmarks, YCSB and TPC-C,
we measure the cost of adding transactional support with ACID guarantees. As bases de dados NoSQL optam por não oferecer importantes abstrações
tradicionalmente encontradas nas bases de dados relacionais, de modo a
atingir elevada escalabilidade e disponibilidade: garantias transacionais e
critérios de coerência de dados fortes. Estas limitações resultam em maior
complexidade no desenvolvimento de aplicações e são por isso um obstáculo
à ampla adoção do paradigma.
Neste trabalho, propomos uma camada de middleware sobre bases de
dados NoSQL que oferece garantias transacionais com Snapshot Isolation.
A abordagem proposta e não-intrusiva, apresentando aos clientes a mesma
interface NoSQL, acrescendo o contexto transacional. Este contexto transacional
e o cerne da nossa contribuição e assenta modularmente num repositório
de versões não-persistente e num certificador externo de transações concorrentes.
Neste trabalho, apresentamos uma implementação do nosso sistema sobre
Apache Cassandra e, recorrendo a dois benchmarks representativos, YCBS e
TPC-C, medimos o custo do suporte do paradigma transacional com garantias
transacionais ACID.
Tipo de Documento
Dissertação de Mestrado
Idioma
Inglês
Orientador(es)
Oliveira, Rui Carlos Mendes de; Cruz, Francisco Miguel Barros da