Analisis Performa State Snapshot Transfers (SST) Tipe Blocking (Rsync) dan Non Blocking (Xtrabackup-V2) pada MariaDB Galera Cluster
Vol. 2, No. 8, Agustus 2018, hlm. 2869-2876 http://j-ptiik.ub.ac.id
Analisis Performa State Snapshot Transfers (SST) Tipe Blocking (Rsync)
dan Non Blocking (Xtrabackup-V2) pada MariaDB Galera Cluster
1 2 3 Gilang Ramadhan , Mahendra Data , Kasyful AmronProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: [email protected], [email protected], [email protected]
Abstrak
Reliabilitas dan availabilitas database server menjadi hal yang krusial pada sebuah sistem aplikasi.Pentingnya peran database server ini membuat banyaknya penelitian yang dilakukan untuk meningkatkan reliabilitas dan availabiltas sebuah database server. Salah satunya adalah dengan mekanisme replikasi database. MariaDB merupakan salah satu DBMS yang memiliki mekanisme replikasi melalui aplikasi MariaDB Galera Cluster. MariaDB Galera Cluster memiliki beberapa metode State Snapshot Transfer (SST) yang digunakan untuk proses replikasi, antara lain Rsync, Xtrabackup, Xtrabackup-v2, dan Mysqldump. Penelitian ini akan membandingkan kinerja metode SST Rsync dan Xtrabackup-v2. Dari hasil pengujian disimpulkan bahwa kedua metode ini memiliki kinerja yang hampir sama. Jumlah node pada cluster menjadi faktor yang mempengaruhi bagaimana kinerja cluster saat mengalami kegagalan. Cluster dengan dua node akan lebih rentan mengalami error jika salah satu node mengalami kegagalan, sehingga jumlah node minimal yang disarankan pada sebuah cluster adalah tiga node dengan catatan hanya ada satu node node yang mengalami kegagalan. Hasil pengujian yang dilakukan juga menghasilkan sebuah kesimpulan bahwa pemilihan metode SST dan jumlah node dapat mempengaruhi waktu replikasi. Metode Rsync secara umum memiliki waktu replikasi yang lebih cepat dibandingkan dengan Xtrabackup-v2.
Kata kunci: replikasi, database, cluster, MariaDB Galera Cluster
Abstract
Reliability and availability of database server becomes the crucial things of application system. There
are so many researches that have been done in order to increase the reliabilty and availability of
database server. The example is using database replication mechanism. MariaDB is one of DBMS that
has a replication mechanism through MariaDB Galera Cluster application. MariaDB Galera Cluster
has several methods called State Snapshot transfer (SST) which is used for replication process, namely
Rsync, Xtrabackup, Xtrabackup-v2, and Mysqldump. This study focused to compare the performance of
Rsync method and Xtrabackup-v2 method. The experimental results show that both methods have a
similar performance. Number of nodes in a cluster can affect the performance of cluster. Cluster with
two nodes would be more vulnerable to become an error if one of the node becomes has failed.
Therefore, the minimum number of nodes on a cluster is three on condition that there is just one node
that failed. This experiment also results another conclusion that SST method that used and number of
nodes can affect the replication times. Rsync method has a shorter duration of replication compared to
the Xtrabackup-v2.Keywords: replication, database, cluster, MariaDB Galera Cluster
peran yang sangat penting dalam sebuah sistem 1.
PENDAHULUAN aplikasi. Semua proses bisnis yang berjalan pada
sebuah sistem aplikasi akan membutuhkan Reliabilitas dan availabilitas sebuah kinerja database yang baik sebagai penyedia database server menjadi hal yang sangat krusial data. Ketika database server mengalami seiring dengan berkembangnya industri kegagalan, maka dipastikan akan menghentikan teknologi informasi dan komunikasi (Aditya, semua proses bisnis dari sistem secara 2015). Hal ini dikarenakan database memiliki keseluruhan. Pentingnya peran database ini yang
Fakultas Ilmu Komputer Universitas Brawijaya
2869 membuat sebuah database diharuskan memiliki up time yang mendekati 100%.
Di sisi lain pentingnya peran database juga disertai dengan besarnya peluang sebuah database mengalami kegagalan sistem. Ada beberapa cara yang dikembangkan untuk meningkatkan reliabilitas dan availabilitas sebuah sistem database, salah satunya adalah menggunakan teknik replikasi. Replikasi adalah teknik penggandaan data pada beberapa lokasi fisik yang berbeda untuk satu data logis yang sama (Domaschka dkk., 2014). Penggunaan teknik replikasi ini akan mengurangi resiko terjadinya kegagalan sistem ketika terjadi kerusakan pada salah satu database pada sistem tersebut. Selain itu replikasi juga digunakan untuk meningkatkan availabilitas sistem
balancing antar database server dan performa
bandwith yang dibutuhkan dari masing-masing database cluster . Dari pengujian yang telah
pada penelitiannya membandingkan performa replikasi pada DBMS PostgreSQL dan MariaDB Galera Cluster. Performa yang diuji meliputi CPU load, disk load, troughtput, maupun
database cluster . Gianpaolo Silvestrini (2014)
Selain fokus pada load balancing, ada juga penelitian yang fokus pada performa dari
Dari kedua variabel tersebut akan diketahui beban dari setiap server dan server dengan beban terkecil akan menjadi server prioritas. Berdasarkan pengujian yang dilakukan, Optimalisasi yang dilakukan membuat algoritma WRR dapat memberikan respon yang lebih cepat dibanding algortima WRR biasa. Hal ini dikarenakan cluster akan lebih dinamis dalam menentukan server prioritas yang akan mempengaruhi performa dari cluster itu sendiri.
query per detik yang diproses sebuah server.
dari database cluster itu sendiri. Seperti yang dilakukan Bagus Aditya (2015) pada penelitiannya yang menggunakan infrastruktur Linux Virtual Server (LVS) dan optimalisasi algoritma penjadwalan Weighten Round-Robin (WRR) sebagai load balancer pada MariaDB Galera Cluster. Penelitian ini dilakukan pada beberapa data center yang terpisah secara geografis dengan tujuan untuk meminimalisir kemungkinan resiko bencana alam pada salah satu negara yang dapat mempengaruhi sebuah data center. Optimalisasi dilakukan dengan melakukan pemeriksaan berkala pada beberapa variabel yang menggambarkan performa dan beban kerja dari masing-masing server. Beberapa variabel tersebut antara lain banyaknya client yang terhubung dan rata-rata
topik ini banyak dilakukan. Penelitian yang dilakukan banyak membahas mengenai load
database dengan cara membagi beban pekerjaan tiap database server. (Aditya, 2015).
database cluster membuat penelitian tentang
Dengan berkembangnya teknologi
2. PENELITIAN TERKAIT
Hasil penelitian ini disusun dengan struktur sebagai berikut. Bagian pertama adalah penelitian terkait mengenai penelitian sebelumnya yang telah dilakukan mengenai teknik-teknik replikasi. Bagian kedua adalah dasar teori mengenai reliabilitas, availabilitas, klaster database, jenis replikasi dan DBMS MariaDB secara umum. Bagian ini digunakan untuk menyamakan presepsi mengenai teori dan istilah-istilah yang digunakan. Bagian ketiga adalah perancangan metode serta testbed yang digunakan dalam penelitian ini. Bagian keempat adalah penjabaran hasil percobaan serta analisis dari hasil percobaan yang telah dilakukan. Bagian terakhir dari penelitian ini adalah penyampaikan kesimpulan dari keseluruhan percobaan yang telah dilakukan.
database cluster yang dimiliki.
Penelitian ini akan fokus pada analisis perbandingan kinerja metode SST Rsync dan Xtrabackup-v2. Kedua metode ini dipilih atas dasar perbedaan tipe dari kedua metode ini yaitu Rsync yang bertipe blocking dan Xtrabackup-v2 yang bertipe non-bloking. Pada saat replikasi sedang berlangsung, Rsync akan membuat node yang sedang melakukan replikasi berada pada mode read only sampai dengan proses replikasi selesai. Sebaliknya pada Xtrabackup-v2, proses blocking hanya berjalan dalam waktu yang singkat pada awal proses replikasi saja. Dengan perbedaan cara kerja dari kedua metode yang dipilih, diharapkan hasil penelitian ini dapat menunjang administrator sistem dalam memilih metode SST yang tepat disesuaikan dengan
Proses replikasi MariaDB Galera Cluster terjadi ketika sebuah node bergabung dalam sebuah cluster (joiner node), joiner node ini akan mendapatkan replikasi data secara keseluruhan dari salah satu node yang sudah ada dalam cluster tersebut (donor node). Proses ini disebut dengan State Snapshot Transfer (SST). Ada beberapa metode SST yang bisa digunakan pada MariaDB Galera Cluster, yaitu Rsync, Mysqldumb, Xtrabackup, dan Xtrabackup-v2.
dilakukan, dua DBMS yang diuji memiliki performa yang tidak jauh berbeda sehingga pemilihan jenis DBMS bisa disesuaikan berdasarkan kebutuhan dari sistem yang akan digunakan 3.
DASAR TEORI
MariaDB Galera cluster merupakan sebuah aplikasi database clustering yang mendukung
Terdapat tiga elemen penting dalam penggunaan Rsync. Yang pertama adalah yang
mereplikasi tabel sistem (MyISAM) dari MariaDB galera, 2015). Perbedaan lain dari kedua metode ini adalah adanya kebutuhan konfigurasi database akses root pada Xtrabackup-v2, namun Rsync tidak memerlukan akses root ataupun konfigurasi database.
only hanya pada awal proses replikasi saja saat
dimana proses replikasi dapat berjalan dengan cepat. Namun terdapat perbedaan dari kedua metode tersebut, antara lain, Rsync akan membuat node yang sedang menjalankan replikasi dalam keadaan read only sampai proses replikasi selesai dilakukan. Di sisi lain jika Xtrabackup-v2, node yang sedang melakukan replikasi berada dalam posisi read
state snapshot
menawarkan kelebihan dari metode physical
snapshots . Baik Rsync dan Xtrabackup-2
Rsync dan Xtrabackup-v2 merupakan metode yang termasuk dalam physical state
3.4 Rsync vs Xtrabackup-v2
. Dengan kata lain semua node yang ada dalam cluster akan berperan sebagai master sehingga aplikasi dapat membaca maupun menulis pada node manapun. MariaDB Galera cluster menggunakan Write- Set Replication API (Wsrep-API) yang merupakan pengembangan API dari Mysql Replication buatan Codership (Yurchenko 2009). Pada awal pengembangannya, MariaDB Galera Cluster merupakan package terpisah dari DBMS MariaDB. Namun MariaDB Galera Cluster sudah terintegrasi didalam DMBS MariaDB versi 10.1, sehingga pengguna tidak perlu lagi melakukan instalasi package MariaDB Galera Server secara manual (MariaDB 2014b).
synchronous multi-master
3.1. Availabilitas Dan Reliabilitas
Availabilitas adalah tingkat ketersediaan suatu sistem untuk diakses dan dipergunakan ketika diperlukan. Sedangkan reliabilitas adalah ukuran kemampuan suatu sistem dalam memberikan hasil yang benar ketika dipergunakan pada berbagai keadaan (Domaschka dkk., 2014). Dari penjelasan ini dapat disimpulkan bahwa sebenarnya availabilitas dan reliabilitas memiliki makna yang berbeda dan tidak saling terikat satu sama lain. Namun, pada kenyataannya, availabilitas tanpa reliabilitas atau sebaliknya mengakibatkan sistem tersebut tidak banyak berguna (Domaschka et al. 2014). Contohnya ketika sebuah database memiliki availabilitas tinggi dalam melayani akses user, namun tidak bisa menjamin konsistensi data yang dimiliki atau sebaliknya, database tersebut memiliki data yang konsisten namun memiliki availabilitas rendah karena koneksi yang sering terputus, maka database tersebut masih belum cukup layak untuk digunakan.
diantaranya adalah MariaDB Galera Cluster (MariaDB 2014b). Kemampuan ini yang membuat sebuah database server memiliki reliabilitas yang tinggi karena konsistensi data yang terjamin dan memiliki availabilitas yang tinggi sehingga lebih toleran terhadap kegagalan sistem.
cluster . Salah satu yang paling populer
besar DBMS saat ini telah mendukung database
failure dari sebuah sistem database. Sebagian
Di dalam sebuah database cluster terjadi proses replikasi data dari satu node dengan node lain. Proses ini yang membuat konsistensi data dari tiap node dalam sebuah cluster tetap terjaga dan dapat mencegah terjadinya single point of
independen. Namun secara logika, antar node dalam database cluster tersebut saling terhubung melalui sebuah perangkat lunak yang mengelola seluruh node di dalam cluster tersebut (Pacitti et al. 2005). Dengan kata lain database cluster adalah sistem database yang terdiri dari beberapa database server yang dimaksudkan untuk memberikan skalabilitas dan availabilitas dari sebuah sistem aplikasi secara keseluruhan.
service , dll.) tersendiri yang bekerja secara
dari beberapa database server yang secara logika dapat dipandang sebagai satu kesatuan sistem database. Satu database server dalam satu cluster, atau biasa disebut sebagai node, memiliki perangkat keras (CPU, memory, disk, dll.) dan perangkat lunak (sistem operasi,
Database Cluster sendiri merupakan kumpulan
solusi untuk menjamin reliabilitas dan availabilitas dari sebuah database server.
3.2. Database Cluster Database cluster merupakan salah satu
3.3. MariaDB Galera Cluster bertindak sebagai klien dimana perangkat yang dirancang dengan topologi sesuai dengan menginisiai proses sinkronisasi. Yang kedua gambar 1. adalah server sebagai perangkat yang akan memberikan datanya. Yang ketiga adalah yang disebut dengan istilah “generator” yang mengatur manajemen data dan melakukan identifikasi ketika terdapat perubahan terhadap data tersebut. Rsync bekerja dengan berjalannya
service Rsync pada server dan menunggu
koneksi dari klien (Rsync, 2017). “Generator” akan berjalan dengan melakukan pemeriksaan pada data yang dimiliki server dan mulai melakukan proses replikasi pada klien. “Generator” akan terus berjalan sehingga ketika terdapat perubahan data pada server , “generator” akan mengirimkan pembaruan data pada klien.
Di sisi lain, Xtrabackup bekerja dengan
Gambar 1. Testbed Pengujian
mencatat log sequence number (LSN) saat Ada beberapa perangkat lunak yang
Xtrabackup mulai berjalan dan melakukan digunakan pada testbed penelitian ini antara lain: replikasi data (Percona, 2017). Ketika ada perubahan data, Xtrabackup akan akan
- MariaDB versi 10.1.18. Pada versi ini, melakukan pemeriksaan pada database dan MariaDB Galera cluster sudah terintegrasi di dalamnya.
diwaktu yang bersamaan, akan ada proses yang memeriksa log transaksi dan kemudian akan
- Wanem versi 3.0 yang akan digunakan mulai melakukan pembaruan data berdasarkan untuk emulasi kondisi jaringan sesuai log transaksi yang dimiliki. Proses replikasi dengan skenario pengujian. Xtrabackup akan diawali dengan dilakukannya
- VirtualBox versi 5.1.6 yang akan digunakan replikasi tabel MyISAM dan sebelum untuk membangun testbed penelitian.
berjalannya proses replikasi. Diwaktu yang bersamaan, Xtrabackup akan mengunci
4.2 Perancangan Skenario Pengujian database untuk mencegah adanya perubahan
Pengujian akan dilakukan dengan menguji data pada saat proses replikasi tabel MyISAM. dua metode SST yang digunakan pada penelitian
Ketika replikasi tabel MyISAM selesai, maka ini, yaitu metode SST Rsync dan Xtrabackup-v2. Xtrabackup akan merilis kunci terhadap
Untuk scenario pertama, kedua metode ini akan
database dan menjalankan proses replikasi. Hal
diuji dengan empat jenis kegagalan untuk ini yang membuat Xtrabackup secara teknis mengetahui bagaimana performa kedua metode membutuhkan waktu replikasi yang sedikit lebih SST ini ketika mengalami kegagalan. Empat banyak jika dibandingkan Rsync yang jenis kegagalan itu adalah: melakukan blocking selama proses replikasi Database service down, kondisi dimana berlangsung. database service pada salah satu node dimatikan secara normal. Skenario ini
4. PERANCANGAN
digunakan untuk mensimulasikan kondisi Proses perancangan pada penelitian ini saat adanya kebutuhan untuk mematikan terbagi menjadi dua bagian. Bagian pertama service salah satu database yang disebabkan adalah proses perancangan testbed dan bagian oleh maintenance salah satu node dalam kedua adalah perancangan skenario pengujian. sebuah cluster. Jaringan down, kondisi dimana jaringan
4.1 Perancangan Testbed pada salah satu node sengaja diputus.
kondisi ini mensimulasikan ketika koneksi
Testbed penelitian dibangun pada satu
salah satu node dalam cluster terputus yang komputer fisik yang menjalankan beberapa disebabkan oleh gangguan link pada salah komputer virtual di dalamnya menggunakan satu node yang membuat koneksi node aplikasi VirtualBox. Komputer virtual tersebut tersebut terputus.
Pengujian dilakukan dengan menjalankan Database server down, kondisi dimana program inject data sebanyak 30000 baris pada salah satu node dimatikan paksa sehingga salah satu node diikuti dengan menjalankan
database service akan berhenti bekerja secara ubnormal. Kondisi ini salah satu kondisi kegagalan pada node lainnya.
Kemudian dampak dari kegagalan tiap skenario mensimulasikan ketika sebuah node dalam tersebut akan dicatat. Langkah berikutnya adalah sebuah cluster mengalami gangguan yang membuat node tersebut berhenti bekerja. memulihkan kondisi kegagalan dan memantau kondisi cluster setelah kondisi kegagalan
Packet loss 10%, kondisi dimana packet tersebut dipulihkan. loss pada koneksi salah satu node sengaja
Skenario pengujian yang kedua adalah dibangkitkan sebesar 10% menggunakan pengujian untuk mengukur waktu replikasi yang aplikasi Wanem. Skenario ini dibutuhkan untuk menjalankan replikasi. Waktu mensimulasikan keadaan ketika adanya replikasi diukur berdasarkan file log MariaDB penurunan performa jaringan salah satu untuk mengetahui berapa lama waktu yang node dalam sebuah cluster. dibutuhkan sebuah node ketika baru bergabung
Empat jenis kegagalan ini masing-masing dalam cluster hingga proses SST selesai. akan diuji dengan jumlah node yang berbeda,
Pengujian akan dilakukan pada beberapa cluster yaitu menggunakan dua dan tiga node. Tujuan dengan besar data yang berbeda dan masing- dari perbedaan jumlah node ini adalah untuk masing akan diuji pada metode SST Rsync dan mengetahui dampak jumlah node terhadap Xtrabackup. availabilitas dan reabilitas cluster. Detail dari
Skenario pengujian ketiga adalah pengujian skenario pengujian bisa dilihat pada tabel 1. yang dilakukan untuk menguji bagaimana pengaruh pemilihan metode SST pada perilaku
Tabel 1. Skenario Pengujian
cluster. Pengujian dilakukan dengan
No. SST Jenis kegagalan Jumlah
menjalankan proses SST pada cluster¸kemudian
Pengujian Node
dilakukan penambahan data pada node yang
1 Rsync database
2
berperan sebagai donor. Akan dicatat dan
service down
dianalisa, apa yang terjadi pada donor dan pada
2 Rsync database
3 cluster dan apa yang mempengaruhi hal tersebut. service down
3 Rsync Jaringan down
2 5.
HASIL DAN ANALISIS PENGUJIAN
4 Rsync Jaringan down
3 Hasil pengujian yang telah dilakukan sesuai
5 Rsync Database server
2
dengan skenario pada tabel 1, bisa dilihat pada
down
tabel 2 yang menunjukan hasil pengujian
6 Rsync Database server
3 menggunakan metode SST Rsync. down
7 Rsync packet loss 10%
2 Tabel 2. Hasil pengujian metode Rsync
8 Rsync packet loss 10%
3 No Kondisi Setelah Dampak
9 Xtrabacku database
2 Pengujian Cluster Dipulihkan p-v2 service down 1 normal; node normal; replikasi
10 Xtrabacku database 3 lain tetap tetap berjalan dan p-v2 service down dapat data konsisten beroperasi
11 Xtrabacku Jaringan down
2 p-v2 2 normal; node normal; replikasi lain tetap tetap berjalan dan
Xtrabacku
12 Jaringan down
3 dapat data konsisten p-v2 beroperasi
13 Xtrabacku Database server
2 3 error; Cluster normal; replikasi p-v2 down tidak dapat tetap berjalan dan
14 Xtrabacku Database server
3 diakses. data konsisten p-v2 down normal; node normal; replikasi
4
15 Xtrabacku packet loss 10%
2 lain tetap tetap berjalan dan p-v2 dapat data konsisten Xtrabacku
16 packet loss 10% 3 beroperasi p-v2
5 error; Cluster tidak dapat diakses. normal; replikasi tetap berjalan dan data konsisten
dipulihkan, maka cluster akan kembali beroperasi. Namun saat dilakukan pemeriksaan data pada database, kedua node berisi data yang telah masuk pada database sebelum error terjadi, berdasarkan hal ini dapat disimpulkan bahwa cluster dengan dua node memiliki potensi kehilangan data jika proses insert data terjadi pada waktu yang bersamaan dengan salah satu kondisi kegagalan walaupun cluster telah berhasil dipulihkan.
service dimatikan secara normal, maka node
tidak mempengaruhi proses replikasi yang sedang berjalan baik dijalankan pada dua atau tiga node. Hal ini dikarenakan saat database
packet loss 10%. Kedua skenario kegagalan ini
Dari empat skenario kegagalan yang diuji, ada dua skenario yang membuat cluster tetap beroperasi saat kegagalan dijalankan. Yaitu skenario kegagalan database service down dan
replikasi selesai pada node tersebut. Sehingga semakin besar data yang ada pada cluster, maka pesan error tersebut akan semakin lama muncul.
node tersebut belum bisa diakses sampai proses
’ pada node yang baru dipulihkan. Error ini muncul dikarenakan proses replikasi yang sedang berjalan pada node yang baru saja dipulihkan sehingga database pada
for application use
berjalan saat skenario kegagalan dilakukan namun mengalami error saat cluster dipulihkan. Pesan error 1407 muncul dengan yang bertuliskan ‘WSREP has not yet prepared node
cluster tiga node. Proses inject data tetap
skenario kegagalan database server down pada
Error yang kemudian terjadi adalah pada
cluster tidak bisa diakses. Saat kondisi cluster
6 normal; node lain tetap dapat beroperasi error; Replikasi sempat terhenti dan muncul error 1407 namun tidak berapa lama replikasi berjalan normal kembali
’. Pesan ini muncul pada kedua skenario kegagalan yang mengalami error dan membuat
get lock
muncul pesan ‘Deadlock found when trying to
cluster akan langsung mengalami error dan
dan database server down pada cluster dengan dua node. Saat skenario kegagalan dijalankan,
error pada skenario kegagalan jaringan down
Seperti yang bisa dilihat pada tabel 2 dan tabel 3 dimana kedua metode SST memiliki hasil pengujian yang hampir sama. Baik Rsync maupun Xtrabackup-v2 sama-sama mengalami
7 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten 8 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten
3 error; Cluster tidak dapat diakses. normal; replikasi tetap berjalan dan data konsisten 4 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten 5 error; Cluster tidak dapat diakses. normal; replikasi tetap berjalan dan data konsisten 6 normal; node lain tetap dapat beroperasi error; Replikasi sempat terhenti dan muncul error 1407 namun tidak berapa lama replikasi berjalan normal kembali
1 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten 2 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten
Tabel 3. Hasil Pengujian Metode Xtrabackup-v2 No Pengujian Dampak Kondisi Setelah Cluster Dipulihkan
Selain itu hasil pengujian juga bisa dilihat pada tabel 3 yang merupakan hasil pengujian dengan skenario kegagalan yang sama dengan pengujian sebelumnya namun menggunakan metode SST Xtrabackup-v2.
7 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten 8 normal; node lain tetap dapat beroperasi normal; replikasi tetap berjalan dan data konsisten
tersebut akan memberikan sinyal pada node lain jika akan keluar dari cluster tersebut sehingga proses replikasi masih berjalan pada node yang masih beroperasi.
- Pengujian performa MariaDB Galera Cluster dapat dilakukan dengan menguji MariaDB Galera Cluster dengan beberapa kondisi kegagalan yang mungkin terjadi.
- Cluster yang memiliki tiga node terbukti lebih toleran dan dapat menangani seluruh skenario kegagalan yang diujikan, dengan catatan hanya satu node yang mengalami kegagalan.
- Metode SST blocking (Rsync) dan non
memiliki performa yang hampir sama ketika mengalami kegagalan yang terjadi pada cluster.
Perbandingan Waktu Replikasi Rsync Xtrabackup-v2
200 MB 300 MB 400 MB 500 MB W ak tu R ep lik asi ukuran data
500 1000 1500 2000
IEEE, hal. 226 –233.
IEEE 18th International Enterprise Distributed Object Computing Conference.
Reliability and Availability Properties of Distributed Database Systems. In 2014
bandung: IEEE. Domaschka, J., Hauser, C.B. & ERB, B., 2014.
(HA) MariaDB Galera Cluster across data center with optimized WRR scheduling algorithm of LVS-TUN.
Ca’FOscari di Venezia. Aditya, B., Juhana, T., 2015. A high availability
databases for web application: architecture and performance analysis. S2 Universitas
Silvestrini,G., 2014. Replicated open source
blocking (Xtrabackup/ Xtrabackup-v2)
Berdasarkan pengujian dan analisis terhadap hasil pengujian yang telah didapat, dapat disimpulkan bahwa:
6. KESIMPULAN
tidak dalam read only selama proses SST berlangsung.
only selama proses SST dan Xtrabackup-v2
- Waktu replikasi pada metode rsync sedikit lebih cepat dibandingkan dengan metode Xtrabackup-v2
Selain itu, pemilihan metode SST juga mempengaruhi perilaku cluster itu sendiri. Pengujian yang dilakukan pada kedua cluster dimana melakukan penambahan data pada donor pada saat donor tersebut sedang menjalankan proses SST menghasilkan perilaku yang berbeda. Rsync akan mengalami kegagalan ketika mendapatkan perubahan data saat melakukan proses SST. Sebaliknya Xtrabackup- v2 masih bisa berjalan saat ada perubahan data, hanya saja proses perubahan data tidak langsung berjalan, dikarenakan Xtrabackup-v2 juga mengalami blocking pada awal proses SST. Hal ini sesuai dengan teori yang dijelaskan pada laman resmi Galera Cluster maupun MariaDB dimana Rsync membuat donor menjadi read
Gambar 2. Perbandingan Waktu Replikasi
dilihat pada gambar 2, waktu replikasi yang dibutuhkan oleh metode Rsync berjalan lebih cepat jika dibandingkan dengan waktu replikasi pada metode Xtrabackup-v2. Adanya perbedaan waktu dari dua metode ini dikarenakan adanya proses blocking pada Rsync yang membuat proses SST dapat langsung berjalan. Hal ini membuat proses replikasi lebih cepat jika dibandingkan pada metode Xtrabackup-v2 yang dimana proses blocking berjalan pada awal replikasi untuk melakukan replikasi tabel MyISAM dan membuat proses replikasi baru akan berjalan setelah proses blocking selesai. Hal ini dibuktikan pada timestamp log MariaDB saat dilakukan pengujian. Terdapat adanya delay dari pada saat joiner ditambahkan, proses replikasi tidak langsung berjalan dikarenakan adanya proses blocking untuk melakukan replikasi tabel MyISAM terlebih dahulu dan setelahnya proses replikasi data bisa berjalan.
cluster . Hasil pengujian waktu replikasi bisa
Pengujian yang dilakukan selanjutnya adalah pengujian waktu replikasi dan perilaku
maupun Xtrabackup-v2. Pemilihan metode SST juga perlu diperhatikan mengingat masing- masing metode SST memiliki kelebihan dan kekurangan sehingga pemilihan SST mana yang akan digunakan perlu disesuaikan dengan sistem yang akan dibuat.
cluster mengalami kegagalan baik pada Rsync
Berdasarkan pengujian yang telah dilakukan, jumlah node dan pemilihan metode SST merupakan aspek yang perlu diperhatikan dalam penerapan sebuah replikasi database. Jumlah node sangat berpengaruh pada saat
DAFTAR PUSTAKA
MariaDB., 2014a. About Galera Replication.
Tersedia di: https://mariadb.com/kb/en/mariadb/about- galera-replication/. MariaDB., 2014b. About MariaDB. Tersedia di: https://mariadb.org/about/ .
Pacitti, E. ET AL., 2005. Preventive Replication in a Database Cluster. Distributed and Parallel Databases, 18(3), hal.223 –251. Yurchenko, A., 2009. MySQL patches by
Codership. Tersedia di: https://launchpad.net/codership-mysql.