| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 3 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
Distributed storage systems, such as NoSQL databases, employ weakly consistent
semantics for providing good scalability and availability forweb services and applications.
NoSQL offers scalability for the applications but it lacks functionality that could be used
by programmers for reasoning about the correctness of their applications. On the other
hand, SQL databases provide strongly consistent semantics that hurt availability.
The goal of this work is to provide efficient support for SQL features on top of AntidoteDB
NoSQL database, a weakly consistent data store. To that end, we extend AQL, a
SQL interface for the AntidoteDB database, with new designed solutions for supporting
common SQL features. We focus on improving support for the SQL invariant known as
referential integrity, by providing solutions with relaxed and strict consistency models,
this latter at the cost of requiring coordination among replicas; on allowing to apply
partitioning to tables; and on developing an indexing system for managing primary and
secondary indexes on the database, and for improving query processing inspired on SQL
syntax.
We evaluate our solution using the Basho Bench benchmarking tool and compare
the performance of both systems, AQL and AntidoteDB, regarding the cost introduced
by the referential integrity mechanism, the benefits of using secondary indexes on the
query processing, and the performance of partitioning the database. Our results show
that our referential integrity solution is optimal in performance when delete operations
are not issued to the database, although noticeably slower with deletes on cascade, and
implementing secondary indexes on the NoSQL data store shows improvements on query
performance. We also show that partitioning does not harm the performance of the
system.
Descrição
Palavras-chave
Web applications geo-replicated databases NoSQL query language CRDT
