Bismillah...

Studi Kasus Sister

Transaksi ATM 
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin.

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 (Desiscion Support System) atau pemrosessan database terdistribusi melalui beberapa server.
Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan data setiap waktu dan dimanapun diperlukan.
Adapun keuntungan lainnya adalah :
  • Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna pada saat  lokasilokasi tersebut membutuhkan data yang sama atau memerlukan server yang terpisah dalam pembuatan aplikasi laporan.
  • Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online, data smarts atau data warehouse.
  • Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan meng-copy data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi
  • Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis Web
  • Meningkatkan kinerja pembacaan
  • Membawa data mendekati lokasi individu atau kelompok pengguna. Hal ini akan membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna.
  • Penggunaan replikasi sebagai bagian dari strategi standby server.
  • Menyembunyikan perbedaan-perbedaan antara layanan replicated dan non-replicated

Replikasi dapat digunakan apabila sebuah organisasi atau perusahaan didukung oleh hardware dan aplikasi sofware dalam sebuah sistem yang terdistribusi. Aplikasi yang berbeda mempunyai kebutuhan yang berbeda untuk otonomi dan konsistensi data.
Replikasi diperlukan dalam sistem terdistibusi apabila berikut ini:
  • Mengcopy dan mendistribusikan data dari satu atau lebih lokasi
  • Mendistribusikan hasil copy data berdasarkan jadwal
  • Mendistribusikan perubahan data ke server lain
  • Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan perubahan dan kemudian menggabungkan data yang telah dimodifikasi
  • Membangun aplikasi data yang menggunakan perlengkapan online maupun offline
  • Membangun aplikasi Web sehingga pengguna dapat melihat volume data yang besar.

Jenis Replikasi
Snapshot replication
Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan update. Biasanya digunakan pada saat memerlukan tampilan data seperti : daftar harga, katalog, data yang digunakan untuk pengambilan keputusan. Data-data ini sifatnya hanya ‘read only’.
  • Replikasi ini membantu pada saat :
  • data sebagian besar statis dan tidak sering berubah
  • dapat menerima copy data yang telah melewati batas waktu yang ditentukan
  • datanya sedikit
Transactional replication
Memelihara kekonsistenan transaksi yang terjadi

Merge replication
Merge replication memungkinkan pengguna bekerja dan merubah data sesuai dengan wewenangnya. Pada saat server tidak dikoneksikan ke seluruh lokasi dalam topologi, replikasi merubah ke nilai data yang sama.

Tujuan Utama Dilakukan Replikasi
A. Perofrmanace Enchancements (Meningkatkan kinerja)
Kunci dari performance enchaments adalah dengan cara melakukan caching data pada client dan server. Cache browsers dan proxy servers mengopi sumber-sumber web untuk mempersingkat waktu mengambil sumber dari server yang asli. Selain itu data di replikasi secara transparan antara server-server yang berada di domain yang sama. Beban kerja (workload) di-share/di-distribusikan di antara server dengan cara menyatukan seluruh IP adress server ke nama DNS situs yang bersangkutan, kemudian data-data yang dibutuhkan dikembalikan ke server-server tersebut dengan metode round-robin.

B. Increased Availability (Meningkatkan ketersediaan)
Pengguna membutuhkan layanan untuk tersedia pada hampir setiap saat. Sehingga layanan yang dibutuhkan harus dapat diakses dengan persentasi keberhasilan mendekati 100%. Faktor-faktor yang mempengaruhi increased availability adalah sebagai berikut:
kegagalan server
partisi jaringan dan operasi yang terputus (network partitions and disconnected operation): diskoneksi komunikasi seperti ini merupakan kekurangan dari aspek mobilitas pengguna.
Replikasi berperan pada aspek menjaga ketersediaan data meskipun ada kegagalan server secara otomatis. Jika data direplikasikan di server yang bebas dari kegagalan maka client dapat mengakses data yang dibutuhkan di server yang melakukan replikasi tersebut (alternate server) bukan di default server. Jika setiap server n memiliki probabilitas p untuk gagal , sehingga ketersediaannya dapat dirumuskan sebagai berikut:
1 – probabilitas gagal = 1-pn

C. Fault Tolerance (Toleransi Kesalahan)
Data yang tersedia dengan baik belum tentu merupakan data yang benar. Data tersebut belum tentu merupakan data yang ter-update. Sebuah layanan fault tolerance selalu menyediakan data yang paling baru dan benar bagi client yang membutuhkannya.

Transaksi dengan data yang tereplikasi
Dari sudut pandang client, sebuah transaksi pada objek-objek yang ter-replikasi harus tampak sama dengan objek yang tak-ter-replikasi. Pada sebuah sistem yang tak ter-replikasi, transaksi tampak dieksekusi satu per satu pada urutan tertentu. Hal ini dapat terjadi dengan memastikan transaksi client terorganisasi secara serial.

-----
arfianhidayat.com