IMPLEMENTATION OF BLOCK NESTED LOOP JOIN ALGORITHM USING SERVER-SIDE PROCESSING METHOD FOR MONGODB DATABASE ON DISTRIBUTED ENVIRONMENT
Mongodb database is generally used for microservices architecture-based system to provide data which fast and reliable. However, the implementation of microservices architecture on an application system tends to create few independent services. Providing data between two services becomes challenge c...
Saved in:
Main Author: | |
---|---|
Format: | Theses |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/75280 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
Summary: | Mongodb database is generally used for microservices architecture-based system to provide data which fast and reliable. However, the implementation of microservices architecture on an application system tends to create few independent services. Providing data between two services becomes challenge considering how data is distributed in several server. Join in between two mongodb databases is impossible since $lookup function provided couldn’t be used between separated servers. Client-side processing is a known method to join data between two separated databases. Instead of using $lookup, this method uses an additional computation machine and software to process the data, so the result can be stored in a storage, such as data warehouse. But those few dependencies cause this method to be inefficient to handle dynamic needs.
In this research, Block Nested Loop Join is implemented using server-side processing method. With this method, join processes can be done by utilizing computational resources from database server. This proposed method is more effective because its performance will scale along with increased database server. With shifting loads to servers, the computation needs on the client side will be reduced so client could run the program without any particular machine or software requirements.
Based on experiment, Block Nested Loop Join that was develops can be used to do left join, and inner join between separate mongodb databases. It also could provide output in the normalized and denormalized form. Implementation of Block Nested Loop Join using server-side processing method gives about 8% faster response time against client-side processing. In this research, we also try to implement distributed Block Nested Loop Join. The result was unsuccessful because program not distributed well in all servers. This occurred because the program was designed to do left join and inner join, while the join process need to be processed on the other side of mongodb cluster. |
---|