Anda di halaman 1dari 22

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 5 REPLIKASI

Oleh : Sukma Fitri Agustin Bactiar Arif Pahlevi (201010370311057) (201010370311479)

LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2012 -2013

I. TUJUAN Mahasiswa mengenal sinkronisasi database diantara database yang terdistribusi Mahasiswa mampu mengimplementasikan konsep sinkronisasi database pada skema yang homogen (sama), baik menggunakan trigger maupun stored procedure Mahasiswa mampu mengimplementasikan job_scheduler yang digunakan untuk proses penjadwalan dari sinkronisasi data antar server II. APLIKASI YANG DIBUTUHKAN Aplikasi Oracle XE SQL Developer Aplikasi Oracle Client III. DASAR TEORI KONSEP DASAR REPLIKASI Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objekobjek database dari satu database ke database lain dan melaksanakan sinkronisasiantara 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 : 1. Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan server yang terpisah dalam pembuatan aplikasi laporan. 2. Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online, data smarts atau data warehouse.

3. 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 4. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis Web 5. Meningkatkan kinerja pembacaan 6. 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 idistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna. 7. Penggunaan replikasi sebagai bagian dari strategi standby server. 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: 1. Mengcopy dan mendistribusikan data dari satu atau lebih lokasi 2. Mendistribusikan hasil copy data berdasarkan jadwal 3. Mendistribusikan perubahan data ke server lain 4. Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan perubahan dan kemudian menggabungkan data yang telah dimodifikasi 5. Membangun aplikasi data yang menggunakan perlengkapan online maupun offline 6. Membangun aplikasi Web sehingga pengguna dapat melihat volume data yang besar.

MERENCANAKAN REPLIKASI Perencanaan yang baik sebelum replikasi dapat memaksimalkan konsistensi data, meminimalkan kebutuhan jaringan dan menghindari beberapa masalah. Beberapa hal yang menjadi pertimbangan dalam perencanaan replikasi: 1. Kebutuhan data yang akan diubah dan siapa yang mengubah 2. Pendistribusian data memerlukan konsistensi, otonomi dan kesinambungan 3. Kelengkapan replikasi yang meliputi kebutuhan user, infra struktur teknik, jaringan dan keamanan serta karakteristik data 4. Jenis replikasi dan pilihannya

Arsitektur Replikasi Guna menangani proses pemutakhiran data yang harus dapat dilakukan oleh semua tingkatan terkait maka arsitektur replikasi yang dirancang merupakan simetric

replication .Replikasi merupakan proses pengkopian dan pengelolaan objek-objek dari database yang membentuk suatu sistem database terdistribusi (Distributed Database). Dengan arsitektur replikasi database menjamin ketersediaan database, yaitu tersedianya alternatif lain jika suatu database jatuh (down) atau untuk mempercepat akses ke database terdekat. Misalnya sebuah aplikasi hanya perlu mengakses database lokal di Hub/Spoke daripada mengakses remote database server di pusat sehingga mengurangi lalu lintas komunikasi data. Jika server database di Hub/Spoke terganggu aplikasi masih dapat mengakses database lainnya yang menyimpan data tereplikasi tersebut. Rancangan arsitektur replikasi

ditempatkan pada seluruh server-server database baik di pusat maupun di Hub dan Spoke. Manfaat lainnya arsitektur replikasi menjamin sinkronisasi data antar database

berdasarkan jadwal yang sudah ditentukan, antar database pusat dengan Hub dan Spoke terjadi sinkronisasi data. Sehingga data di Hub dan Spoke dengan data di pusat selalu

sama, hal ini bertujuan untuk menjaga konsistensi data melalui multipoint, secara global digambarkan sebagai berikut:

Log Transaksi Guna menjamin validasi dan integrasi data dari proses kegagalan transakasi saat pemutakhiran data dibuatlah suatu file log transaksi. File log ini akan mencatat seluruh proses yang terjadi saat pemutakhiran data baik di Hub/Spoke maupun di pusat. Setiap database yang ditempatkan pada server akan disertai oleh file log ini. Propagasi Data Asynchronous Proses propagasi data yang digunakan dalam rancangan database ini adalah asynchronous data propagation. Pemilihan ini bertujuan untuk memjaga validasi data antara Hub/Spoke dengan Pusat dengan pengendalian validasi dari published database.

Bila dalam proses pemutakhiran terjadi di Hub/Spoke, kendali validasi berada di Hub/Spoke tersebut, begitu juga jika dilakukan di Pusat maka otomatis kendalinya berada di Pusat. Sebagai gambaran dijelaskan dalam diagram dibawah ini:

Keuntungan yang diperoleh dengan arsitektur di atas:

Hub/Spoke

memiliki

databasenya

sendiri,

sehingga

memperbesar

keleluasaan/otonomi, Hub/Spoke untuk memelihara dan mengelola datanya baik bagi kepentingannya sendiri maupun kepentingan Pusat.

Mekanisme dua arah (Pull/Push subscribe), memungkinkan pengambilan data mutakhir dalam kondisi mendesak atau diluar jadwal pengambilan.

Kesederhaan dalam proses pemutakhiran data (Updating) Database yang mutakhir selalu tersedia. Derajat Latency data dapat diatur sendiri melalui mekanisme penjadwalan. Menekan biaya operasional karena proses pemutakhiran ke pusat dilakukan secara terjadwal dan tidak perlu selama 24 jam.

Arsitektur Aplikasi Dengan mempertimbangkan isu kinerja, skalabilitas serta kehandalan, maka aplikasi yang akan digunakan dirancang dengan arsitektur 3-tier.

Pada model komputasi 3-tier selain client dan data base server terdapat middle tier sebagai application server yang berfungsi sebagai pusat bisnis proses dan aplikasi logika seperti gambar di bawah ini:

Client side bersifat sebagai thin-client yang tidak banyak melakukan pemrosesan karena hampir seluruhnya dilakukan oleh application server. Pada sisi client hanya perlu diinstall sebuah browser untuk proses transaksi. Arsitektur ini mendukung deployment atas distributed component object yang berbasis arsitektur object request broker (ORB). ORB pada tier-2 bertanggungjawab atas request client yang berkomunikasi dengan application server melalui internet-inter ORB protocol (IIOP) dan HTTP. Keuntungan yang diperoleh dari arsitektur ini: a. Proses maintenance lebih mudah karena logika aplikasi hanya terdapat pada satu site yaitu application server. b. Beban logika aplikasi dapat dibagi bersama antara application server (dalam bentuk modul-modul aplikasi) dan database server (dalam bentuk store procedure) tanpa banyak mengganggu lalu lintas jaringan. Artinya misi menjaga kehandalan kinerja aplikasi sudah tercapai. _

Mekanisme Roll Back Untuk menjamin keutuhan pemutakhiran database disusun suatu mekanisme yang dapat menjaga keutuhan hasil updating terhadap suatu kejadian kegagalan dalam proses pemutakhiran database, maka perlu dibangun mekanisme roll back, yang dimaksudkan bahwa apabila dalam proses pemutakhiran database terdapat satu proses gagal yang mengakibatkan kegagalan seluruh transasksi, maka roll back akan menjamin bahwa seluruh transasksi bisa dikembalikan seperti sediakala secara utuh tanpa cacat data sedikitpun. Berikut ini langkah-langkah membuat MV dengan database link. Dalam script ini kata MATERIALIZED VIEW saya ganti SNAPSHOT, di mana dua terminologi ini mempunyai arti dan fungsi yang sama. ENVIRONMENT Database source - IP: 10.21.106.81 - Nama Instance: DBSOURCE - Nama Table: TBLMV - Nama Owner: OWNSOURCE Di Database yang akan kita buat Snapshot: - Nama Owner: SNAPSHOT_USER - Nama snapshot: TBLMV. Refresh (sinkronisasi) dilakukan tiap malam - TNS Name untuk koneksi ke database DBSOURCE: DBSOURCE - Nama db link: LINKDBSOURCE Persiapan di Database Source Buat MV log (snapshot log)
SQL> conn OWNSOURCE SQL> create snapshot log on TBLMV tablespace USERS;

Snapshot log menyimpan delta (perubahan) data di tabel source. Dengan adanya log ini, ketika snapshot di-refresh, maka snapshot hanya mengambil delta yang ada di source tersebut. Inilah yang disebut dengan refresh fast. Kalau tidak menggunakan snapshot log, kita tidak bisa melakukan refresh fast, dengan kata lain ketika refresh maka yang dilakukan adalah melakukan query ulang ke tabel source. Step-step di database tempat Snapshot 1. Siapkan tablespace untuk menyimpan data milik schema SNAPSHOT_USER
Create tablespace snapshot_tbs datafile '/data/snapshot_tbs01.dbf' size 8192M;

alter tablespace snapshot_tbs add datafile '/data/snapshot_tbs02.dbf' size 8192M;

2. Buat user
SQL> conn / as sysdba SQL> create user snapshot_user identified by napshot_passwd default tablespace snapshot_tbs temporary tablespace temp; SQL> grant resource to snapshot_user; SQL> grant connect to snapshot_user; SQL> grant create snapshot to snapshot_user; SQL> grant create database link to snapshot_user; SQL> grant create public synonym to snapshot_user;

3. Buat TNS Names. Bisa pakai netca atau manual dengam menambahkan entry berikut di file $ORACLE_HOME/network/admin/tnsnames.ora
DBSOURCE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS=(PROTOCOL=TCP)(HOST=10.21.106.81)(PORT=1521)) ) (CONNECT_DATA = (service_name = DBSOURCE) ) )

4. Buat database link


SQL> conn SNAPSHOT_USER SQL> create database link LINKDBSOURCE connect to OWNSOURCE identified by OWNSOURCE_PASSWD using 'DBSOURCE';

5. Buat Snapshot
SQL> conn SNAPSHOT_USER SQL> create snapshot TBLMV refresh fast start with sysdate next trunc(sysdate + 1) as select * from TBLMV@LINKDBSOURCE;Snapshot

di atas akan direfresh mulai nanti malam jam 12, trunc(sysdate + 1). Pekerjaan refresh ini dilakukan oleh job Oracle, lihat jobnya di view USER_JOBS atau DBA_JOBS. Dengan DBMS_JOB kita bisa merubah schedule refresh.Secara fisik, snapshot TBLMV mempunyai tabel dengan name TBLMV (disimpan di default tablespace: snapshot_tbs). 6. Kalau diperlukan, kitapun bisa membuat index di tabel TBLMV sesuai kehendak kita (tidak ada aturan untuk menyamakan index di sini dengan yang di SOURCE). Contoh, kita akan membuat index untuk kolom nilai:
SQL> create index TBLMV_01_IDX on TBLMV (nilai)

IV. TUGAS PRAKTIKUM Buatlah replikasi database pada beberapa database sesuai dengan studi kasus yang ada di bawah ini: 1. Perpustakaan 2. Kemahasiswaan 3. KRS 4. Kepegawaian

5. Keuangan 6. Penjualan 7. Pergudangan 8. Kendaraan bermotor 9. Parawisata 10. Pengiriman barang 11. Transportasi 12. Penginapan Dari salah satu contoh studi kasus diatas buatlah skemanya terlebih dahulu, kemudian buatlah tabel pada satu database. Dari database yang sudah dibuat tersebut, buatlah replikasi pada database yang berbeda. Untuk implementasi database tersebut gunakan salah satu DBMS yang ada (Oracle, MySQL, PostgreSQL)

V. HASIL PRAKTIKUM 1. (slave) memberi hak akses db pada mysql slave agar bisa di akses secara remote

2. (master) memberi hak akses agar dapat di akses oleh slave server untuk replication

3. (master) edit file ini pastikan baris yang ditandai ada, jika tidak, buatlah

4. (master) koneksi master melalui cmd

5. (master) mengecek status master, jika seeprti diatas berarti server siap

6. (Slave) ketikkan perintah tersebut untuk setting slave server, sesuaikan seperti yang dibuat pada master server

7. (Slave) ketikkan perintah itu untuk mengaktifkan slave

8. (slave) ketikan perintah diatas untuk melihat status slave jika tidak ada error berarti konfigurasi sudah benar

9. Testing Database

10. Testing database hasil insert

11. Hasil insert

VI. KESIMPULAN Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasiantara 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

Anda mungkin juga menyukai