Wah udah berapa lama ya ga pernah posting artikel lagi. Kali ini aku pengen flashback tentang Tugas Akhir (TA) atau bahasa kerennya Skripsi. itung-itung merefresh ilmu lama biar ga hilang ama tuntutan kerjaan. hhehe... Tema yang aku ambil waktu TA dulu bertumpu pada sistem Distribusi Database.
Mungkin temen2 sudah banyak yang pernah denger atau bahkan pake sistem ini buat Tugas Akhirnya.
langsung aja deh. posting pertama ini tentang apa itu Database Terdistribusi a.k.a Distributed Database
Database terdistribusi adalah sebuah database logic yang tersimpan secara fisik pada beberapa komputer yang terdapat pada beberapa lokasi dengan terkoneksi pada sebuah jaringan. Jaringan tersebut harus bisa menyediakan akses bagi user untuk melakukan sharing data. Terdapat dua macam sifat dari database terdistribusi yaitu Heterogenous dan Homogenous. Homogenous artinya suatu database terdistribusi dimana data di distribusikan pada beberapa komputer dengan menggunakan DBMS(database management system) yang sama. DBMS digunakan pada database terdistribusi untuk melakukan koordinasi data pada beberapa node. Sedangkan Heterogenous adalah kebalikan dari Homogenous dimana data di sebarkan dengan menggunakan DBMS yang berbeda.
Tujuan utama dari database terdistribusi menyediakan kemudahan untuk mengakses data bagi user pada banyak lokasi yang berjauhan. Untuk mencapai tujuan ini system dari database terdistribusi harus menyediakan apa yang di sebut location transparency yang artinya seorang user dalam mengakses data tidak akan terbatas pada tempat, di manapun dia berada user dapat mengakases data. Tujuan kedua dari database terdistribusi adalah local autonomy, yaitu kemampuan untuk mengatur database local dan mengoperasikannya secara sendiri – sendiri jika terjadi error atau kerusakan pada koneksi antar komputer.
Ada dua macam teknologi yang di gunakan untuk membangun sebuah database terditribusi. Yang pertama adalah synchronous distributed database technology dimana data yang terhubung pada suatu jaringan akan selalu ter-update sehingga user pada beberapa tempat dapat mengakses data. Sedangkan teknologi yang lain yaitu asynchronous distributed database technology di mana system akan menyediakan suatu kopi dari replikasi data pada beberapa node sehingga local server dapat mengakses data tanpa harus keluar dari jaringan lokal. Metode yang biasa di gunakan yaitu Replication serta circular Replication.
- Replikasi database
Adapun
salah satu cara untuk mendistribusikan database adalah dengan replikasi.
Ada
5 keuntungan dari replikasi data yaitu :
1. Reliability
jika sebuah sistem yang menyimpan suatu database
mengalami kerusakan maka sistem lain dapat menemukan kopi dari database yang di
maksud pada node yang lain yang tidak mengalami kerusakan system karena
database di simpan pada beberapa node.
2. Fast response
setiap situs mempunyai kopi dari database sehingga proses query data dapat
berjalan lebih cepat.
3. Node decoupling
setiap transaksi data bisa di proses tanpa koordinasi antar jaringan sehingga
jika sebuah node sibuk atau mengalami
kesalahan maka akan ada sistem tersendiri yang menangani koordinas antar data.
4. Reduced network trafic at prime time kemampuan sistem untuk memindahkan transaksi
database pada jaringan yang sedang tidak sibuk atau berfungsi dengan tidak
sebagaimana mestinya.
- Circular replication mengatasi kelemahan dalam replikasi data. Bila dalam replikasi biasa replikasi data hanya berjalan pada satu arah, maka pada circular replication replikasi data akan berlangsung secara circular .
Dalam
Circular Replication, juga di sebut
replikasi multi master, replikasi data tidak hanya berjalan satu arah, tapi ke
semua simpul sehingga database pada semua simpul akan tetap sama. Tapi
replikasi tidak akan terjadi pada simpul yang melakukan replikasi itu sendiri,
hal ini di tangani oleh sintaks ‘replicate-same-server
= 0’ pada file konfigurasi mysql.
Hal
– hal yang penting dalam pengaturan circular
replication :
• Server-id
: pada masing – masing simpul, server-id
harus unik
• Replicate-do-db
: bagi server slave perintah ini digunakan untuk mendapatkan database yang di
replikasi
• Binlog-do-db : bagi master perintah ini di gunakan untuk mengirim database yang di replikasikan pada
slave.
• replicate-same-server-id
: di gunakan bagi semua node sebagai tanda untuk tidak mereplikasi database pada diri
mereka sendiri
• auto_increment_increment
: mengontrol nilai iterasi pada setiap pelaksanaan nilai AUTO_INCREMENT
•
auto_increment_offset : nilai awal
dari nilai kolom AUTO_INCREMENT
• master-host
: Nomor IP dari master
• master-user
: user yang di buat pada master yang di gunakan oleh slave untuk melakukan replikasi
• master-passsword
: password yang mengijinkan slave untuk melakukan replikasi data.
Hmmmm... kira-kira seperti itulah gambaran dasar dari sistem Database Terdistribusi. Yang menjadi tantangan adalah ketika salah satu sistem down, bagaimana sistem tersebut dapat saling menggantikan atau membackup database yang sedang down tanpa mennyebabkan duplikasi data yang sama.
Sekian dulu teman-teman semoga artikel ini bisa bermanfaat buat kita semua.




