Library Development for Join Operation in Cassandra Database Management System
Mohammad Rafi Adyatma, Fazat Nur Azizah
Abstract
Mohammad Rafi Adyatma, Fazat Nur Azizah
Abstract
With the increasing need to handle and store data, NoSQL database management systems (DBMS) have grown in popularity, including Cassandra. Cassandra stores data in rows much like a relational database, but it does not provide join operations. The general solution for each problem that requires join on tables is to de-normalize the tables. Nevertheless, we argue that the need for join operations is still possible in the case of new and unexpected requirements beyond the database design. This research aims at developing a library that provides join operations for Cassandra. We start with understanding how Cassandra works internally, its data form, and how to retrieve data from Cassandra. The feasibility and performance of possible join algorithms are then analyzed to determine which algorithm to implement. We conclude that hybrid hash join and nested loop join algorithms are two feasible options to implement join in Cassandra. We then build the library for join operations in Cassandra. The join operations implemented library can perform both inner and outer join operations on either equi-join or non-equi-join. Based on performance testing, the hybrid hash join algorithm shows a good performance on small to large data, while the nested loop join algorithm shows a slower performance on large data.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
With the increasing need to handle and store data, NoSQL database management systems (DBMS) have grown in popularity, including Cassandra. Cassandra stores data in rows much like a relational database, but it does not provide join operations. The general solution for each problem that requires join on tables is to de-normalize the tables. Nevertheless, we argue that the need for join operations is still possible in the case of new and unexpected requirements beyond the database design. This research aims at developing a library that provides join operations for Cassandra. We start with understanding how Cassandra works internally, its data form, and how to retrieve data from Cassandra. The feasibility and performance of possible join algorithms are then analyzed to determine which algorithm to implement. We conclude that hybrid hash join and nested loop join algorithms are two feasible options to implement join in Cassandra. We then build the library for join operations in Cassandra. The join operations implemented library can perform both inner and outer join operations on either equi-join or non-equi-join. Based on performance testing, the hybrid hash join algorithm shows a good performance on small to large data, while the nested loop join algorithm shows a slower performance on large data.
Key concepts: Join (topology), Hash join, Computer science, Sort-merge join, NoSQL, Nested loop join, Database, Relational database