Cloud computing delivers on-demand access to essential computing servicesproviding benefits such as reduced maintenance, lower costs, globalaccess, and others. One of its important and prominent services is Databaseas a Service (DaaS) which includes cloud Database Management Systems(DBMSs). Cloud DBMSs commonly adopt the key-value data model andare called Not only SQL (NoSQL) DBMSs. These provide cloud suitablefeatures like scalability, flexibility and robustness, but in order to providethese, features such as referential integrity are often sacrificed. In suchcases, referential integrity is left to be dealt with by the applications insteadof being handled by the cloud DBMSs. Thus, applications are requiredto either deal with inconsistency in the data (e.g. dangling references) orto incorporate the necessary logic to ensure that referential integrity ismaintained.This thesis presents an Application Programming Interface (API) thatserves as a middle layer between the applications and the cloud DBMSin order to maintain referential integrity. The API provides the necessaryCreate, Read, Update and Delete (CRUD) operations to be performedon the DBMS while ensuring that the referential integrity constraints aresatisfied. These constraints are represented as metadata and four differentapproaches are provided to store it. Furthermore, the performance of theseapproaches is measured with different referential integrity constraints andevaluated upon a set of experiments in Apache Cassandra, a prominentcloud NoSQL DBMS. The results showed significant differences betweenthe approaches in terms of performance. However, the final word onwhich one is better depends on the application demands as each approachpresents different trade-offs.
展开▼