Publicação

Antidote SQL: SQL for Weakly Consistent Databases

Ver documento

Detalhes bibliográficos
Resumo: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.
Autores principais:Lopes, Pedro Miguel Sousa
Assunto:Web applications geo-replicated databases NoSQL query language CRDT
Ano:2018
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo: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.