Kamis, 18 Desember 2014

SKEMA DARI REPLICATION SISTEM TERDISTRIBUSI


Replicate atau replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database ke database lain dan melaksanakan sinkronisasi antardatabase sehingga konsistensi data dapat terjamin. Jadi, dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan penggunaannya, seperti pemrosesan transaksi online dan DSS (Decision Support System) atau pemrosesan database terdistribusi melalui beberapa server.

      Dengan menggunakan teknik ini, kehandalan database akan lebih terjamin karena data dapat didisitribusikan ke server-server yang lain. Misalnya seperti transaksi yang terjadi pada Bank, apa yang akan terjadi jika Bank hanya memiliki sebuah database server, apabila pada database server tersebut terjadi kerusakan atau padamnya arus listrik? Pasti transaksi perbankan akan berhenti total. Hal ini tidak demikian terjadi jika kita menggunakan database terdistribusi yang pada setiap transaksi juga direplikasi ke server yang lain.

Terdapat beberapa jenis replikasi akan tetapi yang akan kita bahas di sini hanya sebuah teknik replikasi sederhana saja. Replikasi dapat dilakukan dengan jumlah komputer minimal dua buah, satu buah master dan satu buah slave. Komputer slave akan mengkopi secara otomatis setiap perubahan database yang terjadi pada komputer master.Cara membuat replikasi MySQL di sini hanya bisa digunakan untuk MySQL versi 5.1.x atau di bawah ver si 5.2.x. Jika anda menggunakan MySQL versi yang lebih baru, ada kemungkinan gagal.

      Tujuan dasar dari replikasi adalah menjaga data suatu server yang disinkronkan dengan server yang lain. Banyak slave yang dapat dihubungkan ke master tunggal, dan pada suatu waktu slave bisa dipromosikan sebagai master. Replikasi dapat mengatur master dan slavedengan banyak topologi yang berbeda. Replikasi dapat meniru basis data seluruh server, mereplika basis data tertentu, atau bahkan hanya memilih tabel yang ingin replikasi.

Fault Tolerance,Data Transaction dan Replikasi

FAULT TOLERANCE 

Salah satu tujuan dalam membangun sebuah system terdistribusi adalah memungkinkan untuk melakukan improvisasi terhadap kehandalan sistem. Ini dilakukan karena setiap system pasti akan menemukan kesalahan atau gangguan. Sehingga perlu untuk dibuat pencegahan atau solusi untuk mengatasi masalah tersebut. Availability: kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa. Dalam suatu sistem terdistribusi komponen dalam system yang sangat vital terutama pada resources (critical resources) berjumlah seminimal mungkin. Yang dimaksud dengan critical resources adalah komponen dalam system yang harus ada untuk menjalankan sistem terdistribusi.
Secara umum, ada dua jenis fault tolerant, yaitu fault tolerant secara hardware dan secara software. Untuk itu, masing – masing Software dan Hardware harus di replikasi. Sehingga kalau terjadi kegagalan / error maka yang lain akan menangani. Data dalam sistem terdistribusi tidak boleh hilang, oleh karena itu copy dari data atau resource lainnya tersebut disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya. Hal ini memang berkaitan dengan replikasi. Dengan membuat system terdistribusi yang fault tolerance maka Sistem harus bisa mendeteksi kegagalan dan melakukan tindakan dasar sebagai berikut:
1.Mask the fault (menutupi kegagalan): tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
2.Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan  informasi atau data.
DATA TRANSACTION
Adalah transaksi pengiriman ( Send – Request ) ke sebuah Server-Host  dengan alamat IP / IP adress  dengan Format ( Protokol ) Server-Host tersebut dengan harapan Server-Host melakukan apa yang pengirim Inginkan dalam hal ini Server-Host atau Client. Sebagai Contoh :    Server – Host A atau Client mengirim sebuah data kepada Server – Host B, Pengirim menginginkan  sebuah data xxx agar di proses oleh Server-Host – B lalu memberikan informasi dsb ke pada Pengirim dalam hal ini ( Server – Host A atau Client ). Pada contoh di atas tentu pengirim harus tahu kemana akan di kirim, yah itulah butuhnya sebuah ip address, dengan ip adress tentu data yang kita kirim akan sampai ke tujuan yang kita inginkan, pengiriman data dengan TCP/IP adalah baik,  karena dengan konsep protokol TCP/IP data yang kita kirim pasti sampai kepada tujuan yang tepat, keculi memakai protokol UDP alias broadcast
REPLIKASI

Dalam suatu system terdistribusi perlu adanya transparasi replikasi yaitu Sistem bebas untuk menambah file atau sumber daya tanpa diketahui oleh user (dalam rangkan meningkatkan kinerja). Salah satu segi kehandalan yang diperlukan di dalam sistem terdistribusi adalah replikasi berkas. Sebuah berkas yang direplikasi berarti memiliki beberapa replika berkas yang terletak di lokasi yang berbeda. Sifat yang harus dipelihara oleh replikasi adalah tetap dipandangnya replika-replika berkas oleh pemakai sebagai sebuah berkas tunggal (replication transparency). Tujuan replikasi berkas pada sisem terdistribusi adalah untuk meningkatkan unjuk kerja dan ketersediaan (availability) system.
Selain itu ada yang menyebutkan bahwa Replikasi adalah proses menyalin dan memelihara objek database dalam beberapa database yang membentuk suatu sistem database terdistribusi. Replikasi dapat meningkatkan kinerja dan melindungi ketersediaan aplikasi karena data pilihan alternatif akses ada. Sebagai contoh, sebuah aplikasi biasanya dapat mengakses database lokal daripada server jauh untuk meminimalkan lalu lintas jaringan dan mencapai kinerja maksimum.
Selanjutnya, aplikasi dapat terus berfungsi jika server lokal mengalami kegagalan, tetapi server lain dengan data direplikasi tetap dapat diakses. Dengan replication dasar, replika data memberikan akses read-only ke tabel data yang berasal dari sebuah situs (master) primer.Aplikasi dapat query data dari replika data lokal untuk menghindari akses jaringan terlepas dari ketersediaan jaringan.Namun, aplikasi di seluruh sistem harus mengakses data pada situs utama ketika pembaruan diperlukan.
Keuntungan dan kerugian dari replikasi
 – Availability : jika satu site yang berisi relasi r gagal, relasi r masih didapat di site yang lain. Sistem dapat melanjutkan proses meskipun satu site mengalami kegagalan.
 – Meningkatkan parallel : beberapa site dapat memproses query terhadap r secara parallel. Semakin banyak ada replikasi, semakin besar kesempatan data yang dibutuhkan ditemukan pada site dimana transaksi dijalankan. Replikasi data meminimalkan pergerakan data di antara site.
 – Meningkatkan overhead update: sistem harus memastikan bahwa semua replikasi dari relasi r konsisten. Karena kalau tidak, akan terjadi kesalahan komputasi. Di mana pun r di-update, update ini harus disebar ke seluruh site. replikasi meningkatkan kinerja operasi baca dan meningkatkan availability pembacaan data. Transaksi update meningkatkan overhead. Masalah pengontrolan konkurensi update data yang direplikasi semakin kompleks dari pendekatan terpusat. Cara sederhana adalah membuat salinan utama dari r. Misal : di sistem perbankan, rekening dapat dihubungkan dengan site dimana rekening tersebut dibuka.
2.Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu yang singkat tanpa menghilangkan  informasi atau data.