p-ISSN : 2460-3562 / e-ISSN : 2620-8989

## Implementasi HALB dan Klaster MongoDB dengan Penyimpanan Cache Redis dalam Sistem Terdistribusi
Nandhitta Aemy 1* , Alam Rahmatulloh 2
1 Program Studi Sarjana Informatika Fakultas Teknik Universitas Siliwangi Jl. Siliwangi No. 24, Kahuripan, Kota Tasikmalaya, Jawa Barat 46115
1 207006053@student.unsil.ac.id
2 alam@unsil.ac.id

## Abstrak
Dalam dunia teknologi informasi, sistem yang terdistribusi dan berskala besar sering mengalami masalah performa akibat tingginya beban traffic dan volume data. Kebutuhan akan akses internet yang semakin meningkat mengakibatkan  peningkatan  beban traffic pada  server,  dan  jika  jumlah traffic ke  server  terlalu  tinggi,  dapat menyebabkan  kegagalan  fungsi  server  ( overload ).  Oleh  karena  itu,  diperlukan  upaya  untuk  meningkatkan performa sistem web server agar dapat menangani jumlah koneksi yang lebih besar. Salah satu metode yang dapat digunakan adalah load balancing . Dengan menggunakan teknik load balancing , beban kerja dibagi secara merata ke sejumlah server yang tergabung dalam satu cluster . Namun, masalah kelebihan beban juga dapat terjadi pada basis data akibat peningkatan volume data dan pengelolaan yang terpusat, mengakibatkan waktu respons yang lambat. Salah satu solusi yang dapat  diterapkan adalah database clustering . Clustering merupakan teknik yang menggunakan  beberapa  server  untuk  mengelola  data  dalam  jumlah  besar  dan  membagi  data  di  antara  server- server  tersebut.  Hal  ini  dapat  membantu  meningkatkan  kecepatan  akses  data  dan  mengurangi  kemungkinan terjadinya  waktu  tidak  tersedia  ( downtime )  pada  sistem.  Untuk  mengoptimalkan  hal  ini, caching juga  dapat dilakukan. Caching merupakan teknik penyimpanan data yang sering diakses dalam memori untuk mengurangi waktu  akses  data  yang  lambat.  Dengan  menerapkan  teknik-teknik  ini,  diharapkan  performa  sistem  dapat ditingkatkan secara signifikan.
Kata kunci: Basis Data, Cache , Klaster, Load Balancing , Server, Traffic

## Implementation of HALB and MongoDB Cluster with Redis Cache Storage in Distributed Systems

## Abstract
In the world of information technology, large-scale distributed systems often face performance issues due to  high  traffic  loads  and  data  volumes.  The  increasing  demand  for  internet  access  has  led  to  a  rise  in  website visitors, resulting in higher traffic loads on servers. When the number of incoming connections exceeds the server's capacity, it can lead to server overload and downtime. Therefore, efforts are needed to enhance the performance of web server systems to handle larger connection volumes. One method that can be used is load balancing, where the workload is evenly distributed among a cluster of servers. However, data overload issues can also occur in centralized databases due to the increasing data volume, leading to high response times. One approach to address this is through database clustering, which involves utilizing multiple servers to handle large amounts of data and distribute the data across those servers. This helps improve data access speed and reduces the likelihood of system downtime. Additionally, caching is employed to optimize these processes by storing frequently accessed data in memory,  reducing  slow  data  access  times.  By  implementing  these  techniques,  it  is  expected  that  system performance can be significantly improved.
Keywords: Cache, Cluster, Database, Load Balancing, Server, Traffic

## I. P ENDAHULUAN
Dengan  perkembangan  teknologi  yang  semakin  maju, kini internet telah menjadi  bagian penting dari kehidupan sehari-hari,  ratusan  juta  pengguna  telah  terhubung  ke internet.  Pada  saat  yang  sama,  semakin  banyak  aplikasi
atau  website  yang  haus  sumber  daya  dan  peka  terhadap kinerja  telah  muncul.  Tuntutan  dan  harapan  untuk ekspektasi skalabilitas dan kinerja telah membuat caching dan clustering pada website menjadi suatu bagian penting dalam  infrastruktur  web. Caching berguna  untuk
menyimpan salinan data yang dekat dengan konsumen data (misalnya,  di  web  browser)  untuk  memungkinkan  akses data yang lebih cepat daripada  jika data diambil langsung dari  server  asal  [1],  [2].  Sedangkan clustering berguna untuk  membuat  dan  memelihara  salinan  konten  yang didistribusikan dibawah kendali penyedia data [3]. Hal ini sangat  membantu  karena  permintaan  pengguna  dapat dikirim ke server terdekat dan paling tidak sibuk [4].
Sistem terdistribusi adalah suatu sistem yang terdiri dari beberapa  komputer  atau  perangkat yang  saling  terhubung dan  bekerja  sama  untuk  mencapai  tujuan  yang  sama. Dengan menerapkan sistem terdistribusi, penggunaan dan akses  data  dapat  dilakukan  secara  efisien  dan  handal. Tujuan  dari  sistem  terdistribusi  ini  adalah  untuk meningkatkan  penggunaan  bersama  data  (sharing), kehandalan  ( reliability ),  ketersediaan  ( availability ),  dan kecepatan  pemrosesan query [5].  Penelitian  ini  bertujuan untuk mengoptimalkan kinerja sistem terdistribusi dengan mempertimbangkan faktor-faktor tersebut. Load balancing merupakan  proses  untuk  secara  merata  mendistribusikan beban traffic di  antara  dua  atau  lebih  jalur  koneksi, komputer,  link  jaringan,  CPU, hard  drive ,  atau  sumber daya  lainnya.  Tujuannya  adalah  untuk  mencapai penggunaan  sumber  daya  yang  optimal,  meningkatkan throughput ,  mengurangi  waktu  tanggap,  dan  mencegah terjadinya overload [6].
Dengan  kata  lain, load  balancing menjadi  hal  yang penting karena dapat secara efisien mendistribusikan beban kerja  ke  beberapa  server,  yang  menghasilkan  waktu tanggap  yang  baik  dan  meningkatkan  tingkat  kepuasan pengguna  [7].  Hal  ini  juga  berkontribusi  pada  efisiensi penggunaan  sumber  daya  dan  meningkatkan  performa secara  keseluruhan  [8].  Sebuah  web  server  adalah perangkat  lunak  yang  berfungsi  untuk  menerima permintaan  HTTP  dari  web  browser  dan  mengirimkan kode-kode dinamis ke server aplikasi [9]. Tugas server ini adalah menerjemahkan dan memproses kode-kode dinamis menjadi  kode-kode  statis  dalam  halaman  statis,  yang nantinya  akan  dikirimkan  ke  browser  oleh  web  server. Secara  umum,  web  server  sering  disebut  juga  sebagai HTTP  server  karena  menggunakan  protokol  HTTP  [9]. Database  NoSQL  adalah  jenis  basis  data  yang diperkenalkan  pada  tahun  1998.  Dibandingkan  dengan basis data relasional, NoSQL memiliki keunggulan dalam kemampuannya  untuk  mengelola  data  yang  tidak terstruktur  dengan  efisien  [10].  Dalam  database  NoSQL, prinsip-prinsip RDBMS ( Relational Database Management  System )  tidak  digunakan,  dan  data  tidak disimpan  dalam  tabel  seperti  pada  database  relasional. Sebaliknya, skema data dalam database NoSQL tidak tetap dan model datanya cenderung lebih sederhana [11], [12].
Beberapa  penelitian  telah  dilakukan  terkait  system terdistribusi. Penelitian yang dilakukan oleh Isfahani et al. [13]  membahas  tentang  implementasi load  balancing menggunakan cluster NGINX  dan  MongoDB,  serta penggunaan  Redis caching .  Penelitian  ini  menjelaskan bahwa mekanisme load balancing membantu mendistribusikan  beban  ke  beberapa  server  untuk meningkatkan  kinerja  dan  skalabilitas.  Selain  itu, menggunakan caching Redis, yang menyimpan data yang
sering  diakses  dalam  memori  dapat  mempercepat pengambilan data. Pada penelitian Madushanka et al. [14] dilakukan  pembandingkan  performa  antara  tiga  database NoSQL,  yaitu  Cassandra,  MongoDB,  dan  Redis,  dalam model  terdistribusi.  YCSB  digunakan  untuk  mengukur kinerja  database,  dan  enam  beban  kerja  yang  berbeda dengan  100.000  catatan  diuji.  Hasil  dari  penelitian menyimpulkan bahwa MongoDB adalah basis data NoSQL dengan kinerja yang lebih unggul di antara Cassandra dan Redis.
Penelitian  yang  dilakukan  oleh  Mahathir  Prasanjaya et al n.d [15] pada tahun 2021 dengan judul “Implementasi Load  Balancing Nginx  serta  Pengujian  MongoDB  dan Cassandra dalam Perbandingan Runtime dan Throughput ” menunjukkan  hasil  bahwa load  balancing Nginx  dapat meningkatkan performa MongoDB dan Cassandra, dengan Nginx yang mampu menangani permintaan dalam jumlah besar dengan penundaan yang minimal.
Kemudian, pada penelitian selanjutnya yang dilakukan oleh Moniruzzaman et al. [16] pada tahun 2016 membahas  mengenai  implementasi  model  arsitektur Low Cost dua  tingkat  untuk High  Availability  Cluster yang dikombinasikan  dengan Load  Balancing. Penelitian  ini mengusulkan desain yang secara fisik menghilangkan node server
Network File System
(NFS) dan mengimplementasikan  fungsi  server  NFS  dalam  node klaster,  melalui Red  Hat  Cluster  Suite (RHCS)  dengan teknologi  penyeimbangan  beban  proxy High  Availability . Hasil  penelitian  menunjukkan  bahwa  sistem  ini  dapat memberikan  layanan  yang  berkelanjutan  meskipun  ada komponen  sistem  yang  gagal  secara  tidak  pasti  seperti sistem jaringan, penyimpanan dan aplikasi.
Berdasarkan permasalahan dan artikel rujukan diatas, dapat disimpulkan bahwa implementasi load balancing dan clustering dapat meningkatkan kinerja sistem terdistribusi. Namun,  masih  diperlukan  penelitian  lebih  lanjut  untuk mengoptimalkan performa model dengan mempertimbangkan  faktor-faktor  spesifik  yang  mungkin memengaruhi sistem, seperti jenis database dan konfigurasi load balancing yang digunakan. Oleh karena itu, penelitian ini  bertujuan  untuk  menguji  performa Distributed  System dengan  mengimplementasikan High  Availability  Load Balancing (HALB)  menggunakan  MongoDB clustering dan  Redis caching ,  dengan  harapan  dapat  meningkatkan performa sistem secara signifikan.

## II. M ETODOLOGI P ENELITIAN
Metode  yang  digunakan  dalam  penelitian  ini  terdiri dari 4 tahapan, yaitu sebagai berikut:

## A. Studi Literatur
Tahap  pertama  dalam  metode  ini  melibatkan melakukan  penelitian  literatur  guna  mengumpulkan sumber informasi terkait load balancing, replikasi database MongoDB, dan penerapan mekanisme cache menggunakan teknologi  Redis.  Untuk  melaksanakan  hal  ini,  berbagai jenis literatur dapat digunakan, seperti artikel, buku, jurnal, e-book, situs web, serta laporan penelitian terkait.

## B. Perancangan Sistem
Setelah  melakukan  studi  literatur  dan  analisis kebutuhan  sistem,  tahap  ini  melibatkan  pembangunan sistem  dari  penelitian  tersebut.  Pada  tahap  ini,  dilakukan perancangan  arsitektur  yang  mencakup  pemodelan keseluruhan sistem.

## C. Implementasi
Langkah  terakhir  dalam  metode  ini  melibatkan implementasi sistem yang dibangun berdasarkan perancangan kebutuhan dan perancangan sistem sebelumnya. Berikut ini adalah langkah-langkah implementasi sistem yang dilakukan:
1. Konfigurasi load balancing
2. Replikasi mongoDB
3. Penerapan redis cache

## D. Pengujian dan Analisis
Tahap ini melibatkan melakukan pengujian terhadap hasil  implementasi  dari  arsitektur  sistem  yang  telah dibangun. Pengujian ini berfokus pada pengujian performa menggunakan  JMeter,  dengan  dua  kasus  pengujian  yang dibentuk sebagai berikut:
1. Perbandingan antara kondisi sebelum dan setelah penerapan load balancing.
2. Perbandingan antara penggunaan database cluster yang  menggunakan  mekanisme  cache  Redis  dan tanpa penggunaan mekanisme cache.
Dalam  pengujian  ini,  akan  dievaluasi  kinerja  sistem dengan  melihat  perbedaan  hasil  antara  kedua  kasus pengujian tersebut.

## III. H ASIL DAN P EMBAHASAN
Pada  bagian  ini,  akan  dijelaskan  tentang  penerapan load  balancing,  replikasi  database  MongoDB,  dan penerapan  mekanisme  cache  menggunakan  teknologi Redis.

## A. Perancangan Arsitektur Sistem
Perancangan arsitektur sistem melibatkan pemodelan jaringan  untuk  mensimulasikan  server  load  balancing, replikasi  database  MongoDB,  dan  penerapan  mekanisme Redis  cache.  Dalam  perancangan  ini,  digunakan  lima server dengan peran yang berbeda, yaitu:
1. Tiga server sebagai database server yang terhubung membentuk sebuah database cluster.
2. Satu server sebagai cache server menggunakan teknologi Redis.
3. Satu server terakhir sebagai web server yang menjalankan framework Laravel.
Dengan  demikian,  arsitektur  sistem  terdiri  dari beberapa  komponen  yang  bekerja  bersama  untuk mengimplementasikan  load  balancing,  replikasi  database, dan mekanisme cache.

## Gambar 1. Perancangan arsitektur sistem terdistribusi
Gambar 1 tersebut menampilkan rancangan arsitektur sistem  terdistribusi  yang  akan  dibangun  menggunakan MongoDB  sebagai  server  database  dan  load  balancer, Redis  sebagai  cache,  serta  Laravel  sebagai  web  server. Dalam  gambar  1,  terlihat  bahwa  database  secondary MongoDB terhubung dengan database primary, membentuk sebuah database cluster. Fungsi dari database clustering  ini  adalah  untuk  saling  membackup  dan mendistribusikan data antara server-server tersebut. Ketika database  server  primary  mengalami  kegagalan,  database secondary  akan  mengambil  alih  peran  sebagai  primary sampai  database  primary  pulih  kembali.  Selanjutnya, dilakukan  load  balancing  antara  database  cluster  tersebut dengan web server, yang bertindak sebagai pembagi beban untuk  permintaan  ( request )  yang  masuk  dari  pengguna. Pada web server juga terdapat koneksi dengan Redis cache, yang  berfungsi  untuk  memeriksa  apakah  terdapat  data cache dari permintaan sebelumnya atau apakah data yang sama  dengan  permintaan  yang  akan  dilakukan  sedang tersimpan dalam cache.
Spesifikasi teknis kebutuhan software dari pengujian ini adalah sebagai berikut :
1. PHP v8.0.12 2. PHP MongoDB Extension v1.11
(php_mongodb.dll)
3. Laravel Framework v8.x-dev [8.83.15]
4. Composer v2.1.12
5. XAMPP v.3.3.0
6. Visual Studio Code atau code editor lainnya
7. MongoDB Community Edition v.5.x
8. MongoDB Compass
9. Redis v3.2.100
10. Vagrant
11. Ubuntu v.20.04 LTS
12. Jmeter
13. Internet Connection
B. Implementasi Replikasi Database

## Gambar 2. Konfigurasi replikasi database
Gambar  2  menunjukkan  rancangan  konfigurasi replikasi  database  MongoDB.  Konfigurasi  replikasi  ini menggunakan  tiga  node,  di  mana  satu  node  berperan sebagai  primary  dan  dua  node  sisanya  berperan  sebagai secondary. Ketiga node ini saling terhubung dan berfungsi untuk  keadaan  tertentu  saat  database  server  primary mengalami  kegagalan.  Pada  saat  itu,  salah  satu  node secondary  akan  mengambil  alih  peran  sebagai  primary hingga database primary pulih kembali. Proses ini disebut sebagai election, yaitu proses yang menentukan node mana yang akan menjadi primary. Rancangan arsitektur tersebut merupakan representasi dari arsitektur MongoDB cluster.

## Gambar 3. Arsitektur mongoDB Cluster
Gambar
3 merupakan arsitektur yang direkomendasikan oleh MongoDB Cluster, di mana ketiga node  akan  saling  berkomunikasi  melalui  jaringan  lokal. Berikut ini adalah konfigurasi untuk masing-masing node:
Node 1 (Primary):
Hostname : mongo0 Alamat IP
: 192.168.0.155
Port
: 2022 Node 2 (Secondary): Hostname : mongo1 Alamat IP : 192.168.0.156 Port : 2023 Node 3 (Secondary): Hostname : mongo2 Alamat IP : 192.168.0.157 Port : 2024
Konfigurasi ini menentukan nama host, alamat IP, dan port untuk setiap node dalam arsitektur MongoDB Cluster yang  direkomendasikan.  Selanjutnya start  mongodb server dengan masing-masing konfigurasi diatas.
Gambar 4. Replikasi pada node 1 Primary
Gambar 5. Replikasi pada node 2 Secondary

## Gambar 6. Replikasi pada node 3 Secondary
Pada  ketiga  gambar  tersebut,  dijelaskan  bahwa replikasi  database  dilakukan  dengan  menjalankan  setiap server  database  sesuai  dengan  konfigurasinya  yang  telah ditentukan.

## C. Load Balancing
Pada sistem ini, load balancing menggunakan sistem operasi Ubuntu dan dijalankan di Windows Subsystem for Linux.  Load  balancing  berperan  sebagai  cluster  high- availability yang bertujuan untuk meningkatkan ketersediaan layanan yang disediakan oleh cluster tersebut.

## Gambar 7. Clustering pada node 1 Primary
Gambar  7  tersebut  merupakan  salah  satu  gambaran dari  high  availability  clustering  database  yang  dilakukan oleh  node  1  primary  (mongo0)  dengan  mengedit  file /etc/host dan  menambahkan  ip  serta  hostname database ketiga node.

## D. Caching dengan Redis
Konfigurasi  server  database  Redis  dilakukan  saat mengenali  koneksi  yang  terjadi  di  sisi  server,  khususnya dalam  sintaksis  Laravel.  Hal  ini  melibatkan  penggunaan fungsi  modul  Redis  dan  pembuatan  redisClient  yang menggunakan alamat IP dan port server terkait. Setelah itu, redisClient dapat digunakan untuk melakukan permintaan
pengambilan data.
Berikut pemodelan mekanisme cache server:

## Gambar 8. Mekanisme kerja redis cache
Gambar  8  menggambarkan  mekanisme  atau  cara kerja  cache  dalam  aplikasi.  Sebelum  melakukan permintaan data ke database, aplikasi akan terlebih dahulu memeriksa  cache  Redis.  Jika  terdapat  data  yang  sesuai dengan permintaan di dalam basis data utama, maka data yang ada di cache Redis akan digunakan. Dengan kata lain, ketika pengguna mengakses suatu rute GET yang bertujuan untuk menampilkan data dari database, data akan diambil dari  server  database.  Namun,  jika  pengguna  tersebut mengakses rute GET tersebut kembali, data akan diambil melalui Redis.

## E. Pengujian
Pengujian  dilakukan  untuk  mengetahui  apakah  high availability  load  balancer  melakukan  tugas  pembagian traffic  atau  beban  dengan  proper/baik.  Juga  melakukan pengujian  apakah  caching  berhasil  dilakukan  untuk mengoptimalkan  web  client.  Pengujian  ini  dilakukan beberapa  kali  pada  IP  127.0.0.1  dengan  port  8000.  Hasil dari pengujian ini adalah sebagai berikut:
Pegujian  dilakukan  pada  database  mongodb  untuk memastikan  bahwa High  Availablity  Load  Balancing berhasil  diimplementasikan  dengan  mematikan  node Primary.

## Gambar 9. Pengujian HALB
Setelah node primary pada mongo1 dimatikan, secara otomatis node primary pindah ke node yang lebih optimal. Pada pengujian ini, primary berpindah ke mongo0.
Selanjutnya  adalah  pengujian  untuk  redis  caching yang rangkum dalam table 1.
Tabel I. P ENGUJIAN C ACHING Percobaan With Cache Without Cache 1 598ms 737ms 2 647ms 8,85s 3 673ms 8,89s
Tabel  1  menunjukan  hasil  dari  pengujian  caching. Pada percobaan pertama, ketika cache diimplementasikan pada web client dan hasilnya sistem membutuhkan waktu 598ms. Sedangkan pada without cache, sistem membutuhkan  waktu  737ms.  Kemudian  pada  percobaan dua,  waktu  yang  dibutuhkan  client  dengan  cache  adalah 647ms  sedangkan  without  cache  membutuhkan  waktu 8,85s. Dan yang terakhir, pada percobaan ketiga diperoleh hasil 673 untuk client dengan cache dan 8,89s untuk client yang tidak menunakan cache.

## Gambar 10. Perbandingan mongoDB with cache vs mongoDB without cache
Dilihat dari data yang dimuat pada gambar 10, maka dapat  disimpulkan  bahwa  latensi  dari  client  yang mengimplementasikan mekanisme cache redis lebih rendah dibandingkan  client  yang  tidak  mengimplementasikan mekanisme  cache  redis.  Dan  cache  elapsed  pada  client yang  mengimplementasikan  cache  redis  lebih  tinggi dibandingkan  client  yang  tidak  mengimplementasikan cache redis.

## IV. K ESIMPULAN DAN S ARAN
Berdasarkan  pengujian  yang  dilakukan  dapat disimpulkan  bahwa  rancangan  arsitektur  yang  diajukan dapat mengoptimalkan performa sistem dengan mengimplementasikan  MongoDB  Cluster  dengan  High Availability  Load  Balancing  dan  Redis  Caching. Kombinasi antara load balancing dan caching Redis dapat digunakan  untuk  mengingkatkan  performa  sistem  dengan database  MongoDB.  Namun,  hasil  yang  diperoleh tergantung  pada  konfigurasi  sistem  dan  aplikasi  yang digunakan,  serta  beban  kerja  yang  harus  ditangani  oleh sistem tersebut. Mengganti atau menambhkan database lain seperti  Cassandra,  Memchaced  atau  lainnya  dapat dipertimbangkan  untuk  penelitian  lebih  lanjut  guna meningkatkan performa sistem.
D AFTAR P USTAKA
[1] M. I. Zulfa, R. Hartanto, and A. E. Permanasari, “Caching strategy for Web application – a systematic literature review,” International Journal of Web Information Systems , vol. 16, no.
5. Emerald Group Holdings Ltd., pp. 545–569, Nov. 09, 2020. doi: 10.1108/IJWIS-06-2020- 0032.
[2] M. I. Zulfa, A. Fadli, and A. W. Wardhana, “Application caching strategy based on in- memory using Redis server to accelerate relational data access,” Jurnal Teknologi dan Sistem Komputer , vol. 8, no. 2, pp. 157–163, Apr. 2020, doi: 10.14710/jtsiskom.8.2.2020.157-163.
[3] S. Ghule and R. Vadali, “A review of NoSQL Databases and Performance Testing of Cassandra over single and multiple nodes,” in Proceedings of the Second International Conference on Research in Intelligent and Computing in Engineering , IEEE, Jun. 2017, pp. 33–38. doi: 10.15439/2017r65.
[4] N. Shankaran, D. Shou, R. Arya, C. J. Sbisa, S. Krishnamoorthy, and R. T. Loganathan, “DISTRIBUTED CACHING CLUSTER MANAGEMENT,” 2010.
[5] A. Krechowicz, S. Deniziak, and G. Lukawski, “Highly Scalable Distributed Architecture for NoSQL Datastore Supporting Strong Consistency,” IEEE Access , vol. 9, pp. 69027–
69043, 2021, doi:
10.1109/ACCESS.2021.3077680.
[6] H. S. Muliyantoro, “PENERAPAN METODE LOAD-BALANCING CLUSTERS PADA
DATABASE SERVER GUNA PENINGKATAN
KINERJA PENGAKSESAN DATA.”
[7] S. D. Riskiono and D. Pasha, “Analisis Perbandingan Server Load Balancing dengan Haproxy & Nginx dalam Mendukung Kinerja
Server E- Learning,” Jurnal Telekomunikasi dan
Komputer , vol. 10, no. 3, p. 135, Dec. 2020, doi: 10.22441/incomtech.v10i3.8751.
[8] A. Rahmatulloh and F. MSN, “Implementasi Load Balancing Web Server menggunakan Haproxy dan Sinkronisasi File pada Sistem Informasi Akademik Universitas Siliwangi,” Jurnal Nasional Teknologi dan Sistem Informasi , vol. 3, no. 2, pp. 241–248, Aug. 2017, doi: 10.25077/teknosi.v3i2.2017.241-248.
[9] O. H. Jader, S. R. M. Zeebaree, and R. R. Zebari, “A State Of Art Survey For Web Server Performance Measurement And Load Balancing
Mechanisms View project Image Processing and
Security View project Omid H Jader Erbil polytechnic university A State Of Art Survey For Web Server Performance Measurement And Load Balancing Mechanisms,” Journal of Applied Science and Technology Trends (JASTT) INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH , vol. 8, 2019, [Online]. Available: www.ijstr.org
[10] A. B. Raut Professor, “NOSQL Database and Its Comparison with RDBMS,” 2017. [Online]. Available: http://www.ripublication.com
[11] A. Hendawi et al. , “Distributed NoSQL Data Stores: Performance Analysis and a Case Study.”
[12] Z. Wang, Z. Wei, and H. Liu, “Research on high availability architecture of SQL and NoSQL,” in AIP Conference Proceedings , American Institute of Physics Inc., Mar. 2017. doi:
10.1063/1.4977405.
[13] F. Al Isfahani and F. Nugraha, “Implementasi Load Balancing NGINX dan Mongodb Cluster serta Mekanisme Redis Caching.”
[14] T. Madushanka, L. Kldu, M. Wat, and M. Racl, “Performance Comparison of NoSQL Databases in Pseudo Distributed Mode:Cassandra, MongoDB & Redis,” 2015. [Online]. Available: https://www.researchgate.net/publication/2816296 53
[15] A. Mahathir Prasanjaya, L. Farhan Hakim, and R. Ramadhan, “Implementasi Load Balancing Nginx serta Pengujian MongoDB dan Cassandra dalam Perbandingan Runtime dan Throughput.”
[Online]. Available:
https://www.researchgate.net/publication/3488149 58
[16] A. B. M. Moniruzzaman and S. A. Hossain, “A Low Cost Two-Tier Architecture Model For High Availability Clusters Application Load Balancing,” CoRR , vol. abs/1406.5761, 2014, [Online]. Available: http://arxiv.org/abs/1406.5761