ArticlePDF Available

IMPLEMENTASI DAN ANALISA PERFORMA DATABASE CACHE REDIS MENGGUNAKAN DIGITAL OCEAN

Authors:

Abstract

Perkembangan saat ini, seiring dengan perkembangan teknologi dan komunikasi, saat ini menggunakan data untuk melihat informasi yang harus mengakses data tersebut. Saat mengakses data akan membutuhkan kecepatan untuk membuka data. Data ini dapat dilakukan melalui metode redis cache. Redis adalah dalam memori, cache memori adalah tindakan menyimpan data yang dibutuhkan aplikasi dalam memori yang dapat diambil dengan cepat. Caching dalam keadaan tertentu dapat meningkatkan pekerjaan aplikasi secara dramatis. Cache data dalam memori sangat efektif bila aplikasi berulang kali mengakses data.
IMPLEMENTASI DAN ANALISA
PERFORMA DATABASE CACHE
REDIS MENGGUNAKAN DIGITAL
OCEAN
Anggi Suprayogi
187006001
Program Studi Informatika
Universitas Siliwangi
Nanda Surya Guna
187006103
Program Studi Informatika
Universitas Siliwangi
Fakhrul Rifqi Darmawan
187006097
Program Studi Informatika
Universitas Siliwangi
Muhammad Arfan Maulana W
187006095
Program Studi Informatika
Universitas Siliwangi
Rafi Dhiya Nurhaq
187006076
Program Studi Informatika
Universitas Siliwangi
AbstractPerkembangan saat ini, seiring dengan perkembangan
teknologi dan komunikasi, saat ini menggunakan data untuk
melihat informasi yang harus mengakses data tersebut. Saat
mengakses data akan membutuhkan kecepatan untuk membuka
data. Data ini dapat dilakukan melalui metode redis cache. Redis
adalah dalam memori, cache memori adalah tindakan menyimpan
data yang dibutuhkan aplikasi dalam memori yang dapat diambil
dengan cepat. Caching dalam keadaan tertentu dapat
meningkatkan pekerjaan aplikasi secara dramatis. Cache data
dalam memori sangat efektif bila aplikasi berulang kali mengakses
data.
KeywordsCache, Data, Redis.
I.
PENDAHULUAN
Seiring dengan perkembangan teknologi dan komunikasi, saat
ini penggunaan basis data banyak digunakan oleh sebagian
orang. Dimana prestasi tersebut telah mempengaruhi
lingkungan sekitar. Basis data adalah sekumpulan data yang
disimpan secara sistematis di komputer yang dapat digunakan,
diubah atau diganti untuk mendapatkan informasi pada sistem
terdistribusi. Sistem terdistribusi adalah sekelompok komputer
otonom yang terhubung ke jaringan. Dimana sistem dipandang
sebagai satu komputer. Dengan pertumbuhan saat ini data yang
sangat besar disimpan dalam database, semakin lama waktu
yang dibutuhkan untuk mengambil data. Untuk mengatasi
masalah tersebut maka perlu menggunakan metode caching
untuk mengatasi masalah saat terjadi masalah pada saat
pengambilan data. Metode caching / cache ini dapat
menentukan kinerja data. Salah satu alat yang satu ini
menggunakan redis. Redis merupakan teknologi untuk
menyimpan data dalam memori dengan menggunakan metode
penyimpanan yaitu menggunakan "Key" - "value". Data yang
disimpan di memori performa akan lebih cepat. Oleh karena itu,
ada banyak metode penyimpanan data melalui memori.
II. KAJIAN PUSTAKA
1. Load Balancer
Load balancing adalah teknik untuk mendistribusikan
beban trafik pada dua atau lebih jalur koneksi secara seimbang,
agar trafik dapat berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap dan menghindari overload pada
salah satu jalur koneksi [1] [2]. Load balancing digunakan pada
saat sebuah server telah memiliki jumlah user yang telah
melebihi maksimal kapasitasnya. Load balancing juga
mendistribusikan beban kerja secara merata di dua atau lebih
komputer, link jaringan, CPU, hard drive, atau sumber daya
lainnya, untuk mendapatkan pemanfaatan sumber daya yang
optimal. Salah satu teknik load balancing adalah HaProxy [3].
1. Basis Data
Basis data adalah kumpulan data atau informasi yang
diperoleh dan selanjutnya disimpan dalam suatu media atau
komputer. Pengelolaan basis data pada informasi saat ini merupakan
suatu media yang dimaksudkan untuk memudahkan dalam mencari
informasi atau data, tentunya mengikuti zaman sekarang yang
sedang maju dan berkembang pesat di era informasi. Basis data
adalah kumpulan data yang dapat memberikan informasi [4]. Saat
melakukan caching atau cache data ditambahkan ke cache dengan
membuat tampilan pada server [5]
2.
PHP
PHP adalah bahasa pemrograman skrip sisi server yang
dirancang untuk pengembangan web, PHP juga bisa menjadi bahasa
pemrograman umum. PHP dengan sistem kerja pertama yaitu
request dari halaman web dari browser. Alamat website juga
merupakan jaringan internet, browser akan menuju ke alamat
webserver dan alamat dengan alamat yang sudah dialamatkan dan
menyediakan segala yang dibutuhkan oleh webserver [6].
3.
Cache
Cache adalah proses menyimpan sementara data atau HTML
dan gambar situs web untuk mengurangi bandwidth dan pemuatan
server. Sederhananya, cache adalah teknologi yang membantu
menampilkan halaman web lebih cepat. Berbeda dengan cookie
yang merekam jejak dan aktivitas pengguna saat berselancar di
internet. Cache atau chacing dapat menyalin data yang dekat
dengannya [7] .chacing adalah memori yang paling dekat dengan
CPU, cache disk untuk menyimpan halaman disk yang sering
diakses [8]. Cache menjaga data tetap lokal sehingga saat
melakukannya tidak akan berubah.
4.
Implementasi
Implementasi merupakan tindakan suatu rencana yang dibuat
secara detail [9] .
5.
Redis
Redis adalah sumber terbuka, penyimpanan data struktur
memori, digunakan sebagai database, caching atau lapisan pesan.
Kadang-kadang redis juga disebut sebagai "pembuat database" [10],
filosofi desain yang fleksibel membuatnya menjadi pilihan yang
efektif untuk menyelesaikan banyak permintaan selama tugas
pemrosesan data. Redis adalah untuk membangun basis
pengetahuan tentang makna mendalam dari konteks redis dan teori
teknologi [11]. Redis bekerja pada RAM karena waktu manajemen
data lebih cepat [12].
6.
Visual Code
Visual Code adalah aplikasi yang dapat digunakan
sebagai editor teks ringan dan andal yang dibuat oleh Microsoft
untuk sistem operasi multi platform. Ada banyak fitur yang
disediakan oleh Visual Studio Code, antara lain Intellisense,
Git Integration, Debugging, dan fitur yang menambah
kemampuan editor teks. Kode visual dapat mengembangkan
aplikasi asli atau mengembangkan aplikasi kode buatan [13].
III. HASIL DAN PENGUJIAN
Hasil penelitian ini mengimplementasikan dan menganalisa
performansi database menggunakan cache dengan tujuan untuk
meningkatkan performanya agar tidak mengalami masalah saat
mengakses database dalam jumlah besar, dengan menggunakan
redis cache saat mengakses data yang cukup performanya akan
lebih baik. lebih cepat. Redis cache dapat meningkatkan kinerja
karena redis cache. hanya gunakan memori.
Gambar 1. mengetset respon server.
Pada gambar diatas merupakan perintah untuk melihat isi
data pada server.perintahnya yaitu Keys* lalu get data maka
hasilnya seperti gambar yang dibawah.
Tampilan dibawah merupakan source code untuk
implementasi performa database dengan menggunakan cache
redis.
Gambar 2. Source Code implementasi performa data
base. Tampilan dibawah merupakan hasil dari
implementasi hasil performa dari database redis
menggunakan Digitalocean
Gambar 3. Hasil performa database redist pada server Digitalocean
Gambar diatas merupakan uji performa basis data NoSQL yaitu
Redis dengan menggunakan perintah redis-benchmark -q
IV. KESIMPULAN DAN SARAN
Cache redis menjadi salah satu database NoSQL dengan berbasis
key-value store. Cache Redis merupakan sistemnya yang in-
memory membuat pengambilan data yang cukup banyak dengan
menggunakan redis akan menjadi cepat. Cache redis keandalannya
merupakan kecapatan saat memproses data yang cukup banyak
dan menghasilkan perubahan yang signifika
DAFTAR PUSTAKA
[1]
S. Eludiora, O. Abiona, G. Aderounmu, A.
Oluwatope, C. Onime dan L. Kehinde, “A Load
Balancing Policy for Distributed Web Service,”
dalam International Journal of Sciences, Vol. 3 No. 8,
Hal. 645-654., 2010
[2]
H. Kameda, J. Li, C. Kim dan Y. Zhang, “Optimal
Load Balancing in Distributed Computer Systems,”
Springer, 2012.
[3]
HaProxy, “HaProxy,” [Online]. Available:
https://haproxy.org/#docs/.
[4]
P. A . Larson, J. Goldstein, and J. Zhou, “MTCache:
Transparent mid-tier database caching in SQL
server,” Proc. - Int. Conf. Data Eng., vol. 20, no. May
2014, pp. 177188, 2004.
[5]
M. Altinel et al., “DBCache: Database caching for
web application servers,” Proc. ACM SIGMOD Int.
Conf. Manag. Data, no. May 2014, p. 612, 2002.
[6]
A. Firman, H. F. Wowor, X. Najoan, J. Teknik, E.
Fakultas, and T. Unsrat, “Sistem Informasi
Perpustakaan Online Berbasis Web,” E-Journal Tek.
Elektro Dan Komput., vol. 5, no. 2, pp. 2936, 2016.
[7]
M. G. Khoshkholgh, K. Navaie, K. G. Shin, V. C. M.
Leung, and H. Yanikomeroglu, “Caching or No
Caching in Dense HetNets?,” IEEE Wirel. Commun.
Netw. Conf. WCNC, vol. 2019-April, no. January,
2019.
[8]
M. Rabinovich, “Review Web Caching Replication-
Draft5.” .
[9]
N. Usman and G. Setiawan, “Nurdin Usman, Konteks
Implementasi Berbasis Kurikulum,
Grasindo,Jakarta,2002,hal70 Guntur Setiawan,
Impelemtasi dalam Birokrasi Pembangunan ,Balai
Pustaka,Jakarta,2004,hal39 7,” pp. 7–18, 2002.
[10]
E. Summary, “whitepaper 15 Reasons to use Redis as an
Application Cache.”
[11]
G. Y. Swara, M. Kom, and Y. Pebriadi, “Jurnal
TEKNOIF ISSN : 2338-2724 REKAYASA
PERANGKAT LUNAK PEMESANAN TIKET
BIOSKOP Jurnal TEKNOIF ISSN : 2338-2724,” J.
TEKNOIF, vol. 4, no. 2, pp. 2739, 2016.
[12]
F. Al Isfahani and F. Nugraha, “Implementasi Load
Balancing NGINX dan Mongodb Cluster serta
Mekanisme Redis Caching,” no. December, 2019.
[13]
Mardiyono, “Pengertian Microsoft Visual
Studio Microsoft Visual Studio,” Microsoft
Vis. Stud. 2010, 2013
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Meningkatnya kebutuhan akan informasi menuntut akses yang cepat untuk mendapatkan informasi-informasi terkini, salah satunya yang paling mempengaruhi kecepatan akses suatu alamat website tertentu adalah server penyedia layanan. Server merupakan penyedia layanan sekaligus sebagai pusat pemrosesan data sehingga menuntut kinerja server secara maksimal agar dapat memberikan pelayanan yang maksimal. Salah satu metode yang dapat digunakan yaitu Load balancing atau membagi beban (request) pada web server yang bertujuan untuk meringankan beban yang ditanggung oleh masing masing server, sehingga mampu meningkatkan kinerja server dengan ketersediaan (availability) layanan web server tetap. Namun terdapat pula faktor penting lain, meningkatnya jumlah data yang disertai dengan pengolahan seara terpusat akan berujung tidak optimal. Ketidak optimalan tersebut berupa nilai response time yang tinggi, maka dibutuhkan sebuah arsitektur basis data selain arsitektur terpusat. Salah satu alternative bisa menerapkan metode cluster database untuk meningkatkan ketersediaan basis data dan penerapan mekanisme cache dengan teknologi redis untuk meningkatkan response time terhadap request data serupa. Penelitian ini bertujuan untuk membuat arsitektur sistem terdistribusi dengan menerapkan load balancing web server serta database cluster dan mekanisme caching guna mengatasi permasalahan low availability (rendahnya ketersediaan) pada suatu sistem atau unit kerja.
Conference Paper
Full-text available
Many applications today run in a multitier environment with browser-based clients, midtier (application) servers and a backend database server. Midtier database caching attempts to improve system throughput and scalability by offloading part of the database workload to intermediate database servers that partially replicate data from the backend server. The fact that some queries are offloaded to an intermediate server should be completely transparent to applications - one of the key distinctions between caching and replication. MTCache is a prototype midtier database caching solution for SQL server that achieves this transparency. It builds on SQL server's support for materialized views, distributed queries and replication. We describe MTCache and report experimental results on the TPC-W benchmark. The experiments show that a significant part of the query workload can be offloaded to cache servers, resulting in greatly improved scale-out on the read-dominated workloads of the benchmark. Replication overhead was small with an average replication delay of less than two seconds.
Article
Full-text available
The proliferation of web services; and users appeal for high scalability, availability and reliability of web servers to provide rapid response and high throughput for the Clients’ requests occurring at anytime. Distributed Web Servers (DWSs) provide an effective solution for improving the quality of web services. This paper addresses un-regulated jobs/tasks migration among the servers. Considering distributed web services with several servers running, a lot of bandwidth is wasted due to unnecessary job migration. Having considered bandwidth optimization, it is important to develop a policy that will address the bandwidth consumption while loads/tasks are being transferred among the servers. The goal of this work is to regulate this movement to minimize bandwidth consumption. From literatures, little or no attention was given to this problem, making it difficult to implement some of these policies/schemes in bandwidth scarce environment. Our policy “Cooperative Adaptive Symmetrical Initiated Dynamic/Diffusion (CASID)” was developed using Java Development Environment (JADE) a middle ware service oriented environment which is agent-based. The software was used to simulate events (jobs distribution) on the servers. With no job transfer allowed when all servers are busy, any over loaded server process jobs internally to completion. We achieved this by having two different agents; static cognitive agents and dynamic cognitive agents. The results were compared with the existing schemes. CASID policy outperforms PLB scheme in terms of response time and system throughput.
DBCache: Database caching for web application servers
M. Altinel et al., "DBCache: Database caching for web application servers," Proc. ACM SIGMOD Int. Conf. Manag. Data, no. May 2014, p. 612, 2002.
Sistem Informasi Perpustakaan Online Berbasis Web
  • A Firman
  • H F Wowor
  • X Najoan
  • J Teknik
  • E Fakultas
  • T Unsrat
A. Firman, H. F. Wowor, X. Najoan, J. Teknik, E. Fakultas, and T. Unsrat, "Sistem Informasi Perpustakaan Online Berbasis Web," E-Journal Tek.
Caching or No Caching in Dense HetNets?
  • M G Khoshkholgh
  • K Navaie
  • K G Shin
  • V C M Leung
  • H Yanikomeroglu
M. G. Khoshkholgh, K. Navaie, K. G. Shin, V. C. M. Leung, and H. Yanikomeroglu, "Caching or No Caching in Dense HetNets?," IEEE Wirel. Commun. Netw. Conf. WCNC, vol. 2019-April, no. January, 2019.
Review Web Caching Replication-Draft5
  • M Rabinovich
M. Rabinovich, "Review Web Caching Replication-Draft5.".
whitepaper 15 Reasons to use Redis as an Application Cache
  • E Summary
E. Summary, "whitepaper 15 Reasons to use Redis as an Application Cache."
Pengertian Microsoft Visual Studio Microsoft Visual Studio
  • Mardiyono
Mardiyono, "Pengertian Microsoft Visual Studio Microsoft Visual Studio," Microsoft Vis. Stud. 2010, 2013