Perbandingan Performa Database Apache HBase dan Apache Cassandra Sebagai Media Penyimpanan Data Sensor Internet of Things
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
1 2 3 Dimas Malik Ibrahim , Rakhmadhany Primananda , Mahendra DataProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: dimasmalik@student.ub.ac.id, rakhmadhany@ub.ac.id, mahendra.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. lain, atau pada saat ini lebih sering kita kenal
PENDAHULUAN dengan sebutan Internet of Things (IoT).
Dewasa ini, internet telah menguasai dunia Berbicara tentang data, maka tidak akan luput dengan tanpa ada batasan jarak, waktu bahkan dari media penyimpanan data itu sendiri, dalam usia penggunanya. Jutaan data dipertukarkan hal ini sistem basis data ( database). Pada IoT, setiap harinya baik melalui sosial media, aplikasi jumlah data yang dipertukarkan tidak sedikit dan
web, aplikasi mobile maupun penggunaan IoT juga membutuhkan tingkat availability yang
internet yang melibatkan benda-benda di sekitar tinggi. Dengan banyaknya baris data yang
Fakultas Ilmu Komputer Universitas Brawijaya
2943 dipertukarkan tersebut, maka dibutuhkan suatu
database dengan performa yang sangat
2.1 Perancangan Sistem
database. Selain itu, penulis juga menambahkan
parameter CPU Usage dan Memory Usage dari
database server agar menambah pertimbangan
dalam penentuan database mana yang lebih baik di antara HBase dan Cassandra ketika digunakan sebagai media penyimpanan data sensor
IOT (Abramova, Bernardino and Furtado, 2014).
Untuk mengetahui performa yang paling baik di antara HBase dan Cassandra, penulis akan menggunakan skenario pengujian dengan memasukkan data dengan jumlah baris data yang berbeda-beda pada setiap percobaanya. Selain itu, berdasarkan kebutuhan akan tingkat ketersediaan yang baik dan
realtime dari suatu
sistem database media penyimpanan data sensor
IoT, maka penulis menggunakan lebih dari satu node database server, agar nantinya ketika satu node down/mati, maka node yang lain akan
menjadi backupnya. Oleh karena itu, penulis juga menggunakan skenario pengujian dengan mengubah jumlah node database server yang digunakan pada setiap percobaannya
2. PERANCANGAN
Penelitian ini melakukan simulasi menggunakan 4 virtual machine (VM) yang sudah terinstal HBase dan Cassandra di dalamnya. Semua
Time (Runtime) merupakan parameter yang
VM dijalankan pada 4 PC
(terdapat 1
VM pada masing-masing PC) yang semuanya diremote melalui sebuah Laptop.
Semua
PC dan Laptop ini dihubungkan oleh sebuah Switch menggunakan Kabel LAN.
Gambar 1 Topologi Jaringan
Gambar di atas merupakan topologi jaringan yang diterapkan pada penelitian ini. Setiap
node database server pada gambar di atas
dikonfigurasi
IP-nya agar antara node satu
dengan node yang lainnya dapat berkomunikasi dengan baik. Adapun konfigurasi IP
node-node tersebut terdapat pada tabel di bawah ini.
digunakan untuk menilai performa dari suatu
penulis menggunakan parameter-parameter tersebut karena menurut penelitian sebelumnya yang dilakukan oleh Veronika Abramova, Jorge Bernardino dan Pedro Furtado, menjelaskan bahwa Latency, Throughput serta Execution
mumpuni. Saat ini terdapat dua jenis database, yaitu Relational Database serta Not Only SQL
yang lainnya (Zafar dkk., 2017).
(NoSQL) Database.
NoSQL Database menjadi solusi atas
beberapa masalah yang dimiliki oleh Relational
Database. NoSQL Database menawarkan solusi
atas masalah skalabilitas dan availability yang biasanya masih menjadi keterbatasan suatu sistem
Relational Database. NoSQL Database
cocok untuk digunakan sebagai media penyimpanan data sensor IoT mengingat
availability merupakan faktor terpenting agar
sistem IoT dapat berjalan dengan baik secara
realtime. Ada banyak contoh NoSQL Database
yang banyak digunakan saat ini seperti Apache
Cassandra, MongoDB, Neo4J, Apache HBase, Aerospike, CouchDB dan masih banyak lagi
Dari sekian banyak NoSQL Database, penulis memilih dua sistem
database dalam melakukan operasi insert, serta Memory Usage dan CPU Usage dari database server ketika melakukan operasi insert. Alasan
database untuk
dibandingkan performanya dalam penelitian ini, yaitu HBase dan Cassandra. Alasan penulis memilih kedua
database ini karena keduanya
sama-sama merupakan Column-based database (Zafar dkk., 2017). Selain itu,, juga karena
HBase maupun Cassandra mumpuni dalam
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
Tabel 1 Konfigurasi Jaringan Hostname Konfigurasi node1 BOOTPROTO=static IPADDR=192.168.43.31 node2 BOOTPROTO=static IPADDR=192.168.43.32 node3 BOOTPROTO=static IPADDR=192.168.43.33 node4 BOOTPROTO=static IPADDR=192.168.43.34
2.2 Perancangan Skenario Pengujian
Terdapat dua jenis skenario pengujian yang dilakukan untuk menguji performa sistem
database pada penelitian ini, yaitu berdasarkan
daripada HBase dalam memasukkan data, karena semakin kecil nilai Latency berarti semakin cepat pula proses memasukkan data ke dalam suatu sistem database.
Latency yang lebih baik
pengujian menggunakan 1, 2, 3 dan 4 node. Oleh karena itu, dapat disimpulkan bahwa Cassandra memiliki performa
HBase pada seluruh skenario
Berdasarkan grafik di atas dapat dilihat bahwa Cassandra memiliki Latency yang lebih kecil daripada
Cassandra pada saat memasukkan 50.000, 100.000, 250.000 dan 500.000 baris data.
Gambar 3 di atas merupakan perbandingan hasil pengujian Latency antara HBase dan
Gambar 3 Perbandingan Hasil Pengujian Latency
besar nilai Throughput berarti semakin cepat pula proses memasukkan data ke dalam suatu sistem database.
HBase dalam memasukkan data, karena semakin
disimpulkan bahwa Cassandra memiliki performa Throughput yang lebih baik daripada
node. Oleh karena itu, dapat
Sedangkan HBase memiliki Throughput yang lebih besar daripada Cassandra pada skenario menggunakan 1
node.
Berdasarkan grafik di atas dapat dilihat bahwa Cassandra memiliki Throughput yang lebih besar daripada HBase pada skenario pengujian menggunakan 2, 3 dan 4
100.000, 250.000 dan 500.000 baris data.
Throughput antara HBase dan Cassandra pada saat memasukkan 50.000,
Gambar 2 di atas merupakan perbandingan hasil pengujian
Gambar 2 Perbandingan Hasil Pengujian Throughput
Throughput, Latency, Runtime, Memory Usage dan CPU Usage.
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
3. HASIL DAN PEMBAHASAN
3.1 Hasil Pengujian
Gambar 4 Perbandingan Hasil Pengujian Runtime Gambar 5 Perbandingan Hasil Pengujian Memory
UsageDari Gambar 4 di atas dapat dilihat bahwa Gambar 5 di atas merupakan perbandingan
Cassandra memiliki Runtime yang lebih kecil
hasil pengujian
Memory Usage antara HBase
daripada HBase pada seluruh skenario pengujian dan Cassandra pada saat memasukkan 50.000, menggunakan 1, 2, 3 dan 4
node. Jadi dapat 100.000, 250.000 dan 500.000 baris data.
disimpulkan bahwa Cassandra memiliki Berdasarkan grafik di atas dapat dilihat performa
Runtime yang lebih baik daripada
bahwa HBase memiliki Memory Usage yang HBase dalam memasukkan data. 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.
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 memiliki nilai
HBase 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
bahwa semakin banyak
node yang Gambar 6 Perbandingan Hasil Pengujian CPU
digunakan pada suatu arsitektur sistem
Usage 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 dalam proses
database 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 hasil perbandingan singkat. Selain itu, dapat disimpulkan juga
- Berdasarkan
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 data untuk terdistribusi pada suatu
Throughput yang lebih besar daripada 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
- Berdasarkan hasil perbandingan CPU
,” 2014 IEEE
Apache Zookeeper native.
http://www.cisco.com/c/en/us/solutions/int ernet-of-things/overview.html (Diakses: 5 Maret 2017). Elmasri, R. dan Navathe, S. B. . (2011) Fundamentals of Database Systems. 6 ed.
Online. Tersedia pada:
Cisco (2017) Internet of Things (IoT) - Cisco,
Cassandra.Apache.org/ (Diakses: 18 April 2017).
http://
Cassandra, A. (2017) Apache Cassandra, Online. Tersedia pada:
doi: 10.1109/SERVICES.2014.81.
World Congress on Services, hal. 434 –441.
(2014) “Testing Cloud Benchmark Scalability with Cassandra
HBase,
DAFTAR PUSTAKA Abramova, V., Bernardino, J. dan Furtado, P.
dapat disimpulkan bahwa
Cassandra
merupakan sistem database yang paling baik untuk digunakan sebagai media penyimpanan data sensor
IoT karena
memiliki performa transaksi data yang lebih baik daripada HBase, karena suatu sistem
IoT membutuhkan kecepatan yang baik dalam proses transaksi datanya.
2. Jumlah node database server yang digunakan serta banyak baris data yang dimasukkan merupakan faktor-faktor yang mempengaruhi performa sistem database
HBase maupun Cassandra. Apabila jumlah node yang digunakan semakin banyak dan
jumlah data yang dimasukkan semakin besar, maka nilai Throughput akan semakin kecil dan nilai Latency akan semakin besar, sehingga akan menyebabkan nilai
menggunakan resource prosesor yang lebih banyak daripada penggunaan aplikasi
bawaan
akan semakin besar atau proses transaksi data membutuhkan waktu yang semakin lama.
resource yang lebih kecil
daripada Cassandra karena memiliki persentase
Memory Usage yang lebih kecil
pada seluruh skenario pengujian. Hal ini disebabkan karena, meskipun HBase menjalankan jumlah aplikasi yang lebih banyak ( Hadoop, Zookeeper dan HBase itu sendiri) tapi aplikasi-aplikasi tersebut menggunakan
resource memori yang lebih
sedikit dibandingkan dengan Cassandra yang (meskipun hanya menjalankan satu aplikasi yaitu
Cassandra itu sendiri)
menggunakan resource memori yang lebih banyak.
Usage antara HBase dan Cassandra, HBase
menggunakan
daripada Cassandra pada arsitektur terdistribusi. Sedangkan
Zookeeper
Cassandra
menggunakan
resource yang lebih kecil
daripada HBase pada arsitektur Standalone
mode. Pada HBase, perbedaan antara
arsitektur terdistribusi dengan Standalone
mode terdapat pada penggunaan Zookeeper-nya. Pada Standalone mode, 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. Jadi, dapat disimpulkan bahwa penggunaan fitur
Runtime
4. KESIMPULAN
Memory Usage (57,15 : 74,41) dan CPU Usage (32,06 : 49,33). Dari hasil di atas,
Berdasarkan dari pembahasan hasil pengujian performa pada
“Benchmarking Scalability and Elasticity
5 Maret 2017). Kuhlenkamp, J., Klems, M. dan Röss, O. (2014)
, Online. Tersedia pada: http:// JMeter.Apache.org/ (Diakses:
JMeter, A. (2017) Apache JMeter - Apache JMeter TM
https:// HBase.Apache.org/poweredbyHBas e.html (Diakses: 18 April 2017).
HBase, A. (2017) Apache HBase
Addison-Wesley.
database Apache HBase dan Apache Cassandra, maka dapat
dengan perbandingan rata-rata performa sebagai berikut, HBase : Cassandra,
ditarik kesimpulan bahwa: 1.
Apache Cassandra memiliki performa transaksi data yang lebih baik daripada
- – Powered By Apache HBase, Online. Tersedia pada:
Apache HBase dengan perbandingan rata-
rata performa sebagai berikut, Cassandra :
10,64). Sedangkan Apache HBase menggunakan resource hardware yang lebih hemat daripada
Apache Cassandra
HBase, Throughput (1051,74 : 821,57), Latency (1,22 : 2,76) dan Runtime (4,44 : 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 Database s,”
International Journal of Applied Information Systems, 5(4), hal. 16
- –19. Oracle (2017) Big Data | What is Big Data? |
Tersedia pada: Oracle, Online. https://www.oracle.com/big- data/index.html (Diakses: 18 April 2017).
Swaminathan, S. N. dan Elmasri, R. (2016) “Quantitative analysis of scalable NoSQL
database
s,” 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 doi: –126. 10.1109/ICICTM.2016.7890788.
Zookeeper (2017) Zookeeper, Online. Tersedia
pada: https:// Zookeeper.Apache.org/doc/trunk/Zo
okeeperOver.html (Diakses: 13 Juli 2017).