Abstract

With the increasing volume and variety of data used in Big Data analysis, not-only-SQL (NoSQL) databases like key-value stores are often proposed as the solution to handling large databases. Martinez-Mosquera et al [1] proposed a method to translate data to show how it would be structured in a NoSQL database. This translation method uses the model transformation language Query/View/Transformation Relations (QVTr) to model the translation of semi-structured data into key-value store data. However, the method proposed by Martinez-Mosquera et al only translates semi-structured data and does not translate structured data that can have connections between tables and can be far more complex than semi-structured data. In this work, the translation method proposed by Martinez-Mosquera et al was developed further to translate complex structured data into key-value store data. Development of the translation method results in a set of QVTr relations that specify how a Class Diagram that depicts a relational database would be translated into a key-value store data model. The approach used is to analyze each component used in Class Diagrams and create QVTr relations to specify how that component should be translated to build a key-value store data model similar to what was used by Martinez-Mosquera et al in their proposal. The key-value store data model that results from the QVTr relations can be implemented into a key-value store database without issue. Testing was done using three case studies that show how each step of the proposed method translates a Class Diagram into a key-value store model. The key-value store model that results from that translation is then implemented into the key-value store database Redis using a pure key-value store approach and an approach that makes use of Redis hashes. The evaluation of the two approaches shows that using Redis hash is more memory efficient than using pure key-value stores. Redis hashes also show better query performance when retrieving an entire table from the database than pure key-value stores. The two approaches have similar query performance when using a value's primary key to retrieve the specified data.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call