Anda di halaman 1dari 7

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X

Vol. 2, No. 8, Agustus 2018, hlm. 2943-2949 http://j-ptiik.ub.ac.id

Perbandingan Performa Database Apache HBase dan Apache Cassandra


Sebagai Media Penyimpanan Data Sensor Internet of Things
Dimas Malik Ibrahim1, Rakhmadhany Primananda2, Mahendra Data3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya


Email: 1dimasmalik@student.ub.ac.id, 2rakhmadhany@ub.ac.id, 3mahendra.data@ub.ac.id

Abstrak
Saat ini internet telah menguasai dunia, jutaan data dipertukarkan setiap harinya baik melalui aplikasi
web/mobile maupun penggunaan internet yang melibatkan benda-benda di sekitar kita untuk dapat
saling berkomunikasi satu sama lain (saat ini dikenal dengan sebutan Internet of Things/IoT). IoT
membutuhkan suatu database dengan performa yang baik untuk digunakan sebagai media penyimpanan
datanya. Performa yang baik itu seperti proses penyimpanan data yang cepat dan tingkat availability
yang tinggi. Saat ini terdapat dua jenis database, yaitu Relational Database dan Not Only SQL (NoSQL)
Database. NoSQL Database merupakan jenis yang tepat untuk digunakan sebagai media penyimpanan
data pada sistem IoT karena memiliki tingkat availability yang lebih baik daripada Relational Database.
Dari sekian banyak NoSQL Database, penulis memilih HBase dan Cassandra untuk dibandingkan
performanya dalam penelitian ini, karena keduanya merupakan database terbaik pada model
penyimpanan Column-based. Penulis menguji Throughput, Latency, Runtime, CPU Usage dan Memory
Usage menggunakan JMeter dan YCSB untuk membandingkan performa dari kedua database tersebut.
Hasilnya menunjukkan bahwa Cassandra memiliki nilai Throughput, Latency dan Runtime yang lebih
baik daripada HBase. Sedangkan HBase memiliki nilai CPU Usage, Memory Usage yang lebih baik
daripada Cassandra.
Kata kunci: database, nosql, HBase, Cassandra, YCSB, jmeter
Abstract
Nowadays, internet has dominated the world, millions of data is exchanged daily either through
web/mobile apps or internet use involving the objects around us to be able to communicate each another
(currently known as Internet of Things/IoT). IoT requires a database with a good performance to be
used as its storage media. Good performance it is like fast inserting data process and high level of
availability. There are two types of databases at this time, Relational Database and Not Only SQL
(NoSQL) Database. NoSQL Database is the proper type to be used as data storage media on IoT system
because it has better scalability and availability level than Relational Databases. Of the many NoSQL
Database, the author chooses HBase and Cassandra to compare their performance in this research,
because both are the best in database Column-based storage model. The authors test the Throughput,
Latency, Runtime CPU Usage, and Memory Usage using JMeter and YCSB to compare the performance
of both these databases. The results suggest that Cassandra has Throughput, Latency and Runtime that
is better than HBase. Meanwhile, HBase has CPU Usage and Memory Usage better than Cassandra.
Keywords: database, nosql, HBase, Cassandra, YCSB, jmeter

kita untuk dapat saling berkomunikasi satu sama


1. PENDAHULUAN lain, atau pada saat ini lebih sering kita kenal
Dewasa ini, internet telah menguasai dunia dengan sebutan Internet of Things (IoT).
dengan tanpa ada batasan jarak, waktu bahkan Berbicara tentang data, maka tidak akan luput
usia penggunanya. Jutaan data dipertukarkan dari media penyimpanan data itu sendiri, dalam
setiap harinya baik melalui sosial media, aplikasi hal ini sistem basis data (database). Pada IoT,
web, aplikasi mobile maupun penggunaan jumlah data yang dipertukarkan tidak sedikit dan
internet yang melibatkan benda-benda di sekitar IoT juga membutuhkan tingkat availability yang
tinggi. Dengan banyaknya baris data yang

Fakultas Ilmu Komputer


Universitas Brawijaya 2943
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2944

dipertukarkan tersebut, maka dibutuhkan suatu 2014).


database dengan performa yang sangat Untuk mengetahui performa yang paling
mumpuni. Saat ini terdapat dua jenis database, baik di antara HBase dan Cassandra, penulis
yaitu Relational Database serta Not Only SQL akan menggunakan skenario pengujian dengan
(NoSQL) Database. memasukkan data dengan jumlah baris data yang
NoSQL Database menjadi solusi atas berbeda-beda pada setiap percobaanya. Selain
beberapa masalah yang dimiliki oleh Relational itu, berdasarkan kebutuhan akan tingkat
Database. NoSQL Database menawarkan solusi ketersediaan yang baik dan realtime dari suatu
atas masalah skalabilitas dan availability yang sistem database media penyimpanan data sensor
biasanya masih menjadi keterbatasan suatu IoT, maka penulis menggunakan lebih dari satu
sistem Relational Database. NoSQL Database node database server, agar nantinya ketika satu
cocok untuk digunakan sebagai media node down/mati, maka node yang lain akan
penyimpanan data sensor IoT mengingat menjadi backupnya. Oleh karena itu, penulis
availability merupakan faktor terpenting agar juga menggunakan skenario pengujian dengan
sistem IoT dapat berjalan dengan baik secara mengubah jumlah node database server yang
realtime. Ada banyak contoh NoSQL Database digunakan pada setiap percobaannya
yang banyak digunakan saat ini seperti Apache
Cassandra, MongoDB, Neo4J, Apache HBase, 2. PERANCANGAN
Aerospike, CouchDB dan masih banyak lagi
yang lainnya (Zafar dkk., 2017). 2.1 Perancangan Sistem
Dari sekian banyak NoSQL Database, Penelitian ini melakukan simulasi
penulis memilih dua sistem database untuk menggunakan 4 virtual machine (VM) yang
dibandingkan performanya dalam penelitian ini, sudah terinstal HBase dan Cassandra di
yaitu HBase dan Cassandra. Alasan penulis dalamnya. Semua VM dijalankan pada 4 PC
memilih kedua database ini karena keduanya (terdapat 1 VM pada masing-masing PC) yang
sama-sama merupakan Column-based database semuanya diremote melalui sebuah Laptop.
(Zafar dkk., 2017). Selain itu,, juga karena Semua PC dan Laptop ini dihubungkan oleh
HBase maupun Cassandra mumpuni dalam sebuah Switch menggunakan Kabel LAN.
mengolah data yang super besar, terbukti bahwa
HBase telah digunakan oleh perusahaan seperti
Adobe, Facebook dan Twitter (HBase, 2017),
sementara Cassandra telah digunakan oleh
eBay, GitHub dan Instagram sebagai media
penyimpanan datanya (Cassandra, 2017).
Pada penelitian ini, penulis akan menguji
performa antara HBase dan Cassandra
menggunakan beberapa parameter-parameter
uj,i yaitu Throughput, Latency dan Runtime
database dalam melakukan operasi insert, serta Gambar 1 Topologi Jaringan
Memory Usage dan CPU Usage dari database
server ketika melakukan operasi insert. Alasan Gambar di atas merupakan topologi
penulis menggunakan parameter-parameter jaringan yang diterapkan pada penelitian ini.
tersebut karena menurut penelitian sebelumnya Setiap node database server pada gambar di atas
yang dilakukan oleh Veronika Abramova, Jorge dikonfigurasi IP-nya agar antara node satu
Bernardino dan Pedro Furtado, menjelaskan dengan node yang lainnya dapat berkomunikasi
bahwa Latency, Throughput serta Execution dengan baik. Adapun konfigurasi IP node-node
Time (Runtime) merupakan parameter yang tersebut terdapat pada tabel di bawah ini.
digunakan untuk menilai performa dari suatu
Tabel 1 Konfigurasi Jaringan
database. Selain itu, penulis juga menambahkan
parameter CPU Usage dan Memory Usage dari Hostname Konfigurasi
database server agar menambah pertimbangan BOOTPROTO=static
dalam penentuan database mana yang lebih baik node1
IPADDR=192.168.43.31
di antara HBase dan Cassandra ketika BOOTPROTO=static
node2
digunakan sebagai media penyimpanan data IPADDR=192.168.43.32
sensor IOT (Abramova, Bernardino and Furtado, node3 BOOTPROTO=static

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2945

IPADDR=192.168.43.33 lebih besar daripada Cassandra pada skenario


BOOTPROTO=static menggunakan 1 node. Oleh karena itu, dapat
node4
IPADDR=192.168.43.34 disimpulkan bahwa Cassandra memiliki
performa Throughput yang lebih baik daripada
2.2 Perancangan Skenario Pengujian HBase dalam memasukkan data, karena semakin
Terdapat dua jenis skenario pengujian yang besar nilai Throughput berarti semakin cepat
dilakukan untuk menguji performa sistem pula proses memasukkan data ke dalam suatu
database pada penelitian ini, yaitu berdasarkan sistem database.
banyaknya baris data yang dimasukkan (50.000,
100.000, 250.000 dan 500.000 baris data) dan
berdasarkan jumlah node yang digunakan (1, 2,
3 dan 4 node database server). Adapun
parameter uji yang digunakan antara lain
Throughput, Latency, Runtime, Memory Usage
dan CPU Usage.

3. HASIL DAN PEMBAHASAN

3.1 Hasil Pengujian

Gambar 3 Perbandingan Hasil Pengujian Latency

Gambar 3 di atas merupakan perbandingan


hasil pengujian Latency antara HBase dan
Cassandra pada saat memasukkan 50.000,
100.000, 250.000 dan 500.000 baris data.
Berdasarkan grafik di atas dapat dilihat
bahwa Cassandra memiliki Latency yang lebih
kecil daripada HBase pada seluruh skenario
pengujian menggunakan 1, 2, 3 dan 4 node. Oleh
karena itu, dapat disimpulkan bahwa Cassandra
Gambar 2 Perbandingan Hasil Pengujian memiliki performa Latency yang lebih baik
Throughput daripada HBase dalam memasukkan data,
karena semakin kecil nilai Latency berarti
Gambar 2 di atas merupakan perbandingan semakin cepat pula proses memasukkan data ke
hasil pengujian Throughput antara HBase dan dalam suatu sistem database.
Cassandra pada saat memasukkan 50.000,
100.000, 250.000 dan 500.000 baris data.
Berdasarkan grafik di atas dapat dilihat
bahwa Cassandra memiliki Throughput yang
lebih besar daripada HBase pada skenario
pengujian menggunakan 2, 3 dan 4 node.
Sedangkan HBase memiliki Throughput yang

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2946

Gambar 4 Perbandingan Hasil Pengujian Runtime Gambar 5 Perbandingan Hasil Pengujian Memory
Usage
Dari Gambar 4 di atas dapat dilihat bahwa
Cassandra memiliki Runtime yang lebih kecil Gambar 5 di atas merupakan perbandingan
daripada HBase pada seluruh skenario pengujian hasil pengujian Memory Usage antara HBase
menggunakan 1, 2, 3 dan 4 node. Jadi dapat dan Cassandra pada saat memasukkan 50.000,
disimpulkan bahwa Cassandra memiliki 100.000, 250.000 dan 500.000 baris data.
performa Runtime yang lebih baik daripada Berdasarkan grafik di atas dapat dilihat
HBase dalam memasukkan data. bahwa HBase memiliki Memory Usage yang
lebih kecil daripada Cassandra pada seluruh
skenario pengujian menggunakan 1, 2, 3 dan 4
node. Jadi dapat disimpulkan bahwa HBase
memiliki performa Memory Usage yang lebih
baik daripada Cassandra dalam memasukkan
data, karena semakin kecil nilai Memory Usage
berarti semakin sedikit resource RAM yang
diigunakan oleh suatu sistem database dalam
proses memasukkan data.

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2947

HBase tidak perlu menggunakan bantuan


aplikasi Apache Zookeeper native untuk
mengkoordinir node-node database server-
nya, melainkan cukup dengan
mengaktifkan fitur
HBASE_MANAGES_ZK pada file hbase-
env.sh dalam direktori konfigurasi HBase.
Maka dari itu, dapat disimpulkan bahwa
penggunaan fitur Zookeeper bawaan dapat
menyebabkan HBase memiliki nilai
Throughput dalam transaksi data yang lebih
besar daripada penggunaan aplikasi Apache
Zookeeper native. Sedangkan apabila
menggunakan aplikasi Apache Zookeeper
native, semakin banyak jumlah node yang
harus dikoordinir, maka nilai Throughput
dalam transaksi data akan semakin kecil.
• Berdasarkan hasil perbandingan Latency
antara HBase dan Cassandra, Cassandra
memiliki nilai Latency yang lebih kecil
dibandingkan dengan HBase, baik pada
arsitektur terdistribusi maupun Standalone
mode. dapat Selain itu, dapaat disimpulkan
Gambar 6 Perbandingan Hasil Pengujian CPU bahwa semakin banyak node yang
Usage digunakan pada suatu arsitektur sistem
database, maka nilai Latency akan semakin
Gambar 6 di atas merupakan perbandingan besar. Hal ini disebabkan karena delay
hasil pengujian CPU Usage antara HBase dan distribusi data akan semakin besar pada
Cassandra pada saat memasukkan 50.000, suatu arsitektur dengan jumlah node yang
100.000, 250.000 dan 500.000 baris data. semakin banyak.
Berdasarkan grafik di atas dapat dilihat
• Berdasarkan hasil perbandingan Runtime
bahwa HBase memiliki CPU Usage yang lebih
antara HBase dan Cassandra, serta
kecil daripada Cassandra pada seluruh skenario
berdasarkan dua parameter yang telah
pengujian menggunakan 1, 2, 3 dan 4 node. Jadi
dibahas sebelumnya (Throughput dan
dapat disimpulkan bahwa HBase memiliki
Latency), Cassandra memiliki performa
performa CPU Usage yang lebih baik daripada
yang lebih baik daripada HBase karena
Cassandra dalam memasukkan data, karena
memiliki nilai Runtime yang lebih kecil
semakin kecil nilai CPU Usage berarti semakin
pada seluruh skenario pengujian. Oleh
sedikit resource prosesor yang diigunakan oleh
karena itu, dapat disimpulkan bahwa nilai
suatu sistem database dalam proses
Throughput yang besar dan nilai Latency
memasukkan data.
yang kecil akan membuat nilai Runtime
menjadi kecil atau dengan kata lain proses
3.2 Pembahasan
transaksi data membutuhkan waktu yang
• Berdasarkan hasil perbandingan singkat. Selain itu, dapat disimpulkan juga
Throughput antara HBase dan Cassandra, bahwa semakin banyak node yang
Cassandra memiliki nilai Throughput yang digunakan, maka nilai Runtime akan
lebih besar daripada HBase pada arsitektur semakin besar. Hal ini disebabkan karena
terdistribusi. Sedangkan HBase memiliki butuh waktu yang semakin lama bagi suatu
nilai Throughput yang lebih besar daripada data untuk terdistribusi pada suatu
Cassandra pada arsitektur Standalone arsitektur dengan jumlah node yang
mode. Pada HBase, perbedaan antara semakin banyak.
arsitektur terdistribusi dengan Standalone • Berdasarkan hasil perbandingan Memory
mode terdapat pada penggunaan Usage antara HBase dan Cassandra, HBase
Zookeeper-nya. Pada Standalone mode, menggunakan resource yang lebih kecil

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2948

daripada Cassandra karena memiliki Usage (32,06 : 49,33). Dari hasil di atas,
persentase Memory Usage yang lebih kecil dapat disimpulkan bahwa Cassandra
pada seluruh skenario pengujian. Hal ini merupakan sistem database yang paling
disebabkan karena, meskipun HBase baik untuk digunakan sebagai media
menjalankan jumlah aplikasi yang lebih penyimpanan data sensor IoT karena
banyak (Hadoop, Zookeeper dan HBase itu memiliki performa transaksi data yang lebih
sendiri) tapi aplikasi-aplikasi tersebut baik daripada HBase, karena suatu sistem
menggunakan resource memori yang lebih IoT membutuhkan kecepatan yang baik
sedikit dibandingkan dengan Cassandra dalam proses transaksi datanya.
yang (meskipun hanya menjalankan satu 2. Jumlah node database server yang
aplikasi yaitu Cassandra itu sendiri) digunakan serta banyak baris data yang
menggunakan resource memori yang lebih dimasukkan merupakan faktor-faktor yang
banyak. mempengaruhi performa sistem database
• Berdasarkan hasil perbandingan CPU HBase maupun Cassandra. Apabila jumlah
Usage antara HBase dan Cassandra, HBase node yang digunakan semakin banyak dan
menggunakan resource yang lebih kecil jumlah data yang dimasukkan semakin
daripada Cassandra pada arsitektur besar, maka nilai Throughput akan semakin
terdistribusi. Sedangkan Cassandra kecil dan nilai Latency akan semakin besar,
menggunakan resource yang lebih kecil sehingga akan menyebabkan nilai Runtime
daripada HBase pada arsitektur Standalone akan semakin besar atau proses transaksi
mode. Pada HBase, perbedaan antara data membutuhkan waktu yang semakin
arsitektur terdistribusi dengan Standalone lama.
mode terdapat pada penggunaan
Zookeeper-nya. Pada Standalone mode, DAFTAR PUSTAKA
HBase tidak perlu menggunakan bantuan Abramova, V., Bernardino, J. dan Furtado, P.
aplikasi Apache Zookeeper native untuk (2014) “Testing Cloud Benchmark
mengkoordinir node-node database server- Scalability with Cassandra,” 2014 IEEE
nya, melainkan cukup dengan World Congress on Services, hal. 434–441.
mengaktifkan fitur doi: 10.1109/SERVICES.2014.81.
HBASE_MANAGES_ZK pada file hbase-
env.sh dalam direktori konfigurasi HBase. Cassandra, A. (2017) Apache Cassandra,
Jadi, dapat disimpulkan bahwa penggunaan Online. Tersedia pada:
fitur Zookeeper bawaan HBase, http://Cassandra.Apache.org/ (Diakses: 18
menggunakan resource prosesor yang lebih April 2017).
banyak daripada penggunaan aplikasi Cisco (2017) Internet of Things (IoT) - Cisco,
Apache Zookeeper native. Online. Tersedia pada:
http://www.cisco.com/c/en/us/solutions/int
4. KESIMPULAN ernet-of-things/overview.html (Diakses: 5
Berdasarkan dari pembahasan hasil Maret 2017).
pengujian performa pada database Apache Elmasri, R. dan Navathe, S. B. . (2011)
HBase dan Apache Cassandra, maka dapat Fundamentals of Database Systems. 6 ed.
ditarik kesimpulan bahwa: Addison-Wesley.
1. Apache Cassandra memiliki performa
transaksi data yang lebih baik daripada HBase, A. (2017) Apache HBase – Powered By
Apache HBase dengan perbandingan rata- Apache HBase, Online. Tersedia pada:
rata performa sebagai berikut, Cassandra : https://HBase.Apache.org/poweredbyHBas
HBase, Throughput (1051,74 : 821,57), e.html (Diakses: 18 April 2017).
Latency (1,22 : 2,76) dan Runtime (4,44 : JMeter, A. (2017) Apache JMeter - Apache
10,64). Sedangkan Apache HBase JMeterTM, Online. Tersedia pada:
menggunakan resource hardware yang http://JMeter.Apache.org/ (Diakses: 5
lebih hemat daripada Apache Cassandra Maret 2017).
dengan perbandingan rata-rata performa
Kuhlenkamp, J., Klems, M. dan Röss, O. (2014)
sebagai berikut, HBase : Cassandra,
“Benchmarking Scalability and Elasticity
Memory Usage (57,15 : 74,41) dan CPU

Fakultas Ilmu Komputer, Universitas Brawijaya


Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 2949

of Distributed Database Systems,” Proc.


VLDB Endow., 7(12), hal. 1219–1230. doi:
10.14778/2732977.2732995.
Nayak, A., Poriya, A. dan Poojary, D. (2013)
“Type of NOSQL Databases and its
Comparison with Relational Databases,”
International Journal of Applied
Information Systems, 5(4), hal. 16–19.
Oracle (2017) Big Data | What is Big Data? |
Oracle, Online. Tersedia pada:
https://www.oracle.com/big-
data/index.html (Diakses: 18 April 2017).
Swaminathan, S. N. dan Elmasri, R. (2016)
“Quantitative analysis of scalable NoSQL
databases,” Proceedings - 2016 IEEE
International Congress on Big Data,
BigData Congress 2016, hal. 323–326. doi:
10.1109/BigDataCongress.2016.49.
Tutorialspoint (2017) Cassandra Architecture,
Online. Tersedia pada:
https://www.tutorialspoint.com/Cassandra/
Cassandra_architecture.htm (Diakses: 13
Juli 2017).
White, T. (2015) Hadoop: The definitive guide,
Online. doi: citeulike-article-id:4882841.
Zafar, R. dkk. (2017) “Big Data: The NoSQL and
RDBMS review,” ICICTM 2016 -
Proceedings of the 1st International
Conference on Information and
Communication Technology, (May), hal.
120–126. doi:
10.1109/ICICTM.2016.7890788.
Zookeeper (2017) Zookeeper, Online. Tersedia
pada:
https://Zookeeper.Apache.org/doc/trunk/Zo
okeeperOver.html (Diakses: 13 Juli 2017).

Fakultas Ilmu Komputer, Universitas Brawijaya

Anda mungkin juga menyukai