digilib@itb.ac.id +62 812 2508 8800

23519031 Raden Alf Fajrus Shuluh.pdf
PUBLIC Dessy Rondang Monaomi

Basis data mongodb umumnya digunakan pada arsitektur sistem microservices dengan kemampuan penyekalaan dinamis mengikuti perubahan beban kerja sistem. Namun penerapan arsitektur microservices pada aplikasi umumnya membentuk beberapa servis yang independen. Kebutuhan untuk menyajikan data dari dua servis yang berbeda menjadi tantangan yang sulit mengingat penyimpanan data di masing-masing servis dilakukan secara terdistribusi di beberapa server. Pada mongodb, proses join melalui fungsi lookup tidak bisa dilakukan antar dua server. Client-side processing merupakan metode umum untuk melakukan join antar dua server. Metode ini membutuhkan mesin komputasi hingga perangkat lunak tambahan untuk memproses data untuk kemudian disimpan ke suatu penyimpanan yang dikenal sebagai data warehouse. Ketergantungan tersebut menyebabkan metode ini cukup lambat dalam memenuhi kebutuhan penyajian data yang berubah-ubah. Server-side processing merupakan metode untuk melakukan proses join dengan memanfaatkan komputasi dari server database yang digunakan. Penggunaan komputasi pada server menurunkan kebutuhan komputasi dari klien sehingga klien tidak perlu tergantung pada kebutuhan mesin komputasi atau perangkat lunak tertentu. Dari hasil pengujian, program Block Nested Loop Join yang dikembangkan sudah mampu melakukan join dengan tipe Left Join, dan Inner Join untuk menghasilkan bentuk luaran data yang Normalized, dan Denormalized. Penerapan Block Nested Loop Join metode server-side processing menghasilkan penurunan waktu respon sebesar 8% dibandingkan penerapan metode client-side processing. Pada penelitian ini, dilakukan juga penerapan program tersebut secara terdistribusi. Penerapan tersebut belum berhasil dilakukan karena program belum bisa didistribusikan ke seluruh server. Hal ini terjadi karena program dirancang untuk melakukan left join dan inner join. Ketika dijalankan di cluster lain, proses join tidak dilakukan karena data untuk join tidak ditemukan di cluster tersebut.