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 Data

  Program 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

Usage

  Dari 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).