PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

dokumen-dokumen yang mirip
PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 5 DISTRIBUSI DAN FRAGMENTASI DATA

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 5 DISTRIBUSI DAN FRAGMENTASI DATA

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 2 PEMBUATAN DATABASE LINK (HOMOGENOUS SERVICE)

Pemrograman Basis Data dan SQL

PL / SQL. Arif Basofi

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Cursor. M. Saefudin SKom, MMSI

Administrasi Basis Data. Integritas Data. Yoannita

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 1 KONFIGURASI DATABASE CLIENT DAN SERVER

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 6 REPLIKASI NATIF (ONE-WAY) MYSQL. Oleh: ANISA ISTIQOMAH ABDURRACHMAN KELAS 6C

Pertemuan I KONSEP DASAR STORED ROUTINES

BAB 6 PROGRAM UNITS DAN STRORED PROGRAMS UNITS

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

Transaction dan Trigger. M. Saefudin SKom, MMSI

5/6/2010 KONSTRUK PROGRAM PL/SQL PROSEDUR STRUKTUR BLOK PADA BLOK ANONIM PL/SQL OVERVIEW MENGENAI SUBPROGRAM STRUKTUR BLOK PADA SUBPROGRAM PL/SQL

MODUL VII STORED PROCEDURE

Membuat Function, Stored Procedur dan View pada MySQL

PERTEMUAN 10 PEMBUATAN TABEL

Pertemuan VII TRIGGERS

BAB I PENDAHULUAN BAB 1 PENDAHULUAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Praktikum Basis Data 2. BAB 1 : Pendahuluan

TSI Perbankan REPLIKASI

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

BAB I PENDAHULUAN. 1.1 Latar Belakang

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

BAB 4 MEMBUAT LIST OF VALUE (LOV) DAN NON-BASE TABLE FIELDS

Pertemuan IV CONDITION & HANDLER CURSOR

Database Terdistribusi. by: Ahmad Syauqi Ahsan

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL VI FAILOVER CLUSTER

Query adalah bahasa SQL (Structured Query Language) yang ditampilkan dalam bentuk visual, yang dapat digunakan untuk melihat, memodifikasi dan

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

VIEW OR STORED PROCEDURE

BAB V CURSOR AND RESULT SETS

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

BERMAIN DATA DENGAN SQL SERVER

Pendahuluan. Tujuan MODUL

Perangkat Lunak Manajemen Subprogram Untuk Oracle 11G

Praktikum TRIGGER. Tujuan :

BAB II LANDASAN TEORI

Database Interfaces. By: Arif Basofi

SKRIPSI DESAIN DAN IMPLEMENTASI SISTEM DATABASE TERDISTRIBUSI UNTUK PERENCANAAN BONGKAR MUAT PETIKEMAS

BAB IV IMPLEMENTASI DAN PENGUJIAN

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

Oracle Academic Initiative

BAB II LANDASAN TEORI. Pengertian suatu sistem tentu mempunyai beberapa persyaratan umum,

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

APLIKASI KONVERSI FLOWCHART KE KODE PROGRAM BAHASA PEMROGRAMAN PL/SQL MYSQL

PERTEMUAN 2 LANJUTAN PERANCANGAN DATABASE DAN DBMS

BAB 4 IMPLEMENTASI DAN EVALUASI

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

CONSISTENCY & REPLICATION. Sistem terdistribusi week 7

BAB 4 IMPLEMENTASI DAN PENGUJIAN

DATABASE ADMINISTRATOR

Pertemuan VI F U N C T I O N


Oracle Academic Initiative

BAB 1 I PENDAHULUAN. terbarukan untuk mengelola dan mengolah data tersebut. Perkembangan database

BAB III LANDASAN TEORI. komponen yang saling berkaitan (interrelated) atau subsistem-subsistem yang

MySQL J A M K E T I G A

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

6/26/2011. Database Terdistribusi. Database Terdesentralisasi

BAB II LANDASAN TEORI. mempertukarkan produk yang bernilai dengan pihak lain.

Sistem Basis Data Terdistribusi Arif Basofi

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Modul 6 Function dan Trigger

BAB 4 IMPLEMENTASI DAN EVALUASI

PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA

Implementasi Heterogenous Distributed Database System Oracle Xe 10g dan MySQL Rekam Medis Poliklinik UIN Sunan Kalijaga

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 7 REPLIKASI MULTI MASTER (TWO-WAY) MYSQL. Oleh: ANISA ISTIQOMAH ABDURRACHMAN KELAS 6C

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

BAB 1 PENDAHULUAN. pengaturan data secara cepat dan akurat, telah mengubah perpustakaan yang

BAB III PERANCANGAN SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN

Database dalam Sistem Terdistribusi

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

MODUL 10 PHP&MYSQL INSERT & DELETE

Mengelola Data. Oleh: Arif Basofi

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV HASIL DAN UJI COBA

BAB 4 : Interaksi PL/SQL dengan Oracle Server

LAPORAN PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 1 KONFIGURASI DATABASE CLIENT DAN SERVER

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

Satuan Acara Perkuliahan

MINGGU XI : SQL SERVER

Administrasi Basis Data Replikasi. Yoannita

Transkripsi:

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2011-2012

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 Sinkronisasi data Sinkronisasi data adalah suatu proses untuk menjaga kosistensi data yang ada pada suatu server dengan data yang berada pada server yang lain. Dalam proses sinkronisasi database, terdapat proses pengkopian data yang disimpan ke dalam suatu table dan skema yang berada pada database yang lain. Dengan adanya proses sinkronisasi memungkinkan suatu data yang berada pada database tertentu akan dapat terupdate secara langsung maupun berkala pada database yang lain. Teknik inilah yang merupakan dasar dari konsep replikasi yang ada pada database. Dalam suatu kasus database terdistribusi, mekanisme sinkronisasi ini diperlukan untuk mengupdate data yang terdapat pada global schema yang diakses oleh suatu user secara langsung. Data yang diupdate pada global schema merupakan data yang berada pada local schema dari database yang terdistribusi. Antara local schema dengan global schema bisa jadi mempunyai skema yang sama secara struktur datanya (homogeneous), ataupun berbeda (heterogeneous). Dalam kasus heterogeneous schema maupun homogeneous schema, proses sinkronisasi yang dilakukan oleh database harus mampu menyesuaikan struktur data yang ada pada masing-masing database yang berbeda. Hal ini dilakukan untuk menjaga konsistensi data. Selain permasalahan skema yang berbeda, ada beberapa hal yang harus diperhatikan selama proses sinkronisasi database berlangsung, yaitu : 1. Kesamaan antara struktur data yang akan dilakukan proses sinkronisasi Pada heterogeneous skema, terdapat perbedaan struktur data yang ada pada table tertentu pada database yang berbeda, sehingga proses sinkronisasi harus memperhatikan heterogenitas tersebut. Proses sinkronisasi harus mampu menterjemahkan data yang bisa jadi memiliki tipe data yang berbeda, sehingga bisa disimpan ke dalam table yang baru. Beberapa database menyediakan suatu stored procedure (yang dapat dibuat sendiri) yang bisa digunakan untuk memanipulasi data pada selama proses sinkronisasi berlangsung. Sedangkan pada homogeneous schema di dalam proses sinkronisasi tidak memerlukan proses penterjemahan data dari satu table ke table yang lain yang berada pada database yang berbeda. 2. Frekuensi proses sinkronisasi yang dilakukan. Penentuan frekuensi proses sinkronisasi ini juga perlu diperhatikan. Bisa jadi ada proses sinkronisasi yang berjalan secara realtime, atau ada pula yang berjalan secara periodic. Sinkronisasi secara realtime terjadi ketika suatu table pada suatu database tertentu mengalami proses manipulasi data, secara seketika perubahan dari data tersebut akan terupdate ke table pada database yang berbeda. Sedangkan proses sinkronisasi secara

periodik terjadi ketika proses update tersebut dilakukan pada waktu tertentu secara berulang. 3. Situasi kompleks dimana kedua buah database dilakukan proses update data secara bersamaan. Gambar 1. Heterogenitas Data pada Database Terdistribusi Mekanisme sinkronisasi data pada oracle Oracle menyediakan suatu mekanisme untuk melakukan sinkronisasi data pada database terdistribusi. Setiap perubahan yang ada pada suatu server database akan berpengaruh kepada server database yang lain, yang terhubung pada suatu sistem database terdistribusi. Mekanisme-mekanisme yang bisa dilakukan untuk proses sinkronisasi pada database oracle antara lain adalah : 1. Menggunakan suatu stored procedure. Oracle menyediakan suatu fitur stored procedure yang dapat digunakan untuk menangani proses sinkronisasi. Stored procedure ini dapat dibuat oleh database developer sesuai dengan kebutuhan data dan proses sinkronisasi yang berjalan pada dua buah server yang berbeda tersebut 2. Menggunakan trigger Apabila skema yang ada pada kedua buah table yang berbeda database tersebut sama, dan proses sinkronisasi dilakukan secara realtime, maka dapat digunakan database trigger. Database trigger ini akan memproses segala perubahan data (insert, update, delete) yang terjadi pada suatu table, sehingga secara realtime akan berpengaruh pada table yang lain. 3. Menggunakan oracle replication Oracle menyediakan suatu fitur replikasi database. Replikasi merupakan suatu proses untuk membuat duplikat atau replika dari suatu table data yang ada pada database 4. Menggunakan oracle stream dan golden gate Oracle stream merupakan suatu fitur yang ada pada oracle yang memungkinkan seorang user untuk mengontrol informasi, penyebaran data, transaksi, dan event di dalam suatu aliran data antara database yang satu dengan database yang lain.

5. Menggunakan paket DBMS_COMPARISON pada oracle Merupakan suatu paket yang disediakan oleh database oracle, untuk menyediakan fungsi-fungsi dan prosedur-prosedur yang digunakan untuk sinkronisasi data. Prosedur ini memungkinkan pendeteksian perbedaan data pada dua buah table, dan melakukan proses replikasi apabila diinginkan Oracle Procedure Procedure merupakan kumpulan dari statement PL/SQL yang memiliki nama tertentu, dan dapat dipanggil sebagai suatu objek database yang menjalankan proses tertentu. Stored procedure memungkinkan kita mendefinisikan suatu routine yang menjalankan proses tertentu didalam mengolah data yang ada pada database. Stored procedure menawarkan berbagai keuntungan di dalam mengembangkan, mengintegrasikan, mengamankan, meningkatkan performansi dan alokasi memori dari suatu pengolahan database. Dengan adanya stored procedure memungkinkan suatu proses pengolahan data di dalam database dilakukan di level database, bukan di aplikasi, sehingga akan mempercepat proses pengolahan data. Diantara keunggulan menggunakan stored procedure ini adalah : 1. Mengurangi overhead pengolahan data 2. Mengurangi network traffic 3. Menjalankan business logic pada database, dan mengurangi proses pengolahan data pada client 4. Meninggkatkan keamanan pengolahan data, karena ditangani pada level database. 5. Mengurangi SQL injection Syntax untuk membuat procedure: Keterangan: 1. OR REPLACE, digunakan untuk membuat procedure yang sudah pernah ada dengan nama yang sama 2. SCHEMA, menspesifikasikan skema dimana procedure tersebut dibuat 3. IN, menspesifikasikan input dari suatu variable yang dijadikan sebagai parameter 4. OUT, menspesifikasikan suatu variable yang mengembalikan hasil ke yang memanggil 5. IN OUT, menspesikan suatu variable yang dijadikan sebagai parameter input, sekaligus sebagai variable yang mengembalikan suatu nilai dari prosedur 6. NOCOPY, menginstruksikan database utnuk melewatkan argument secepat mungkin. NOCOPY ini secara signifikan mampu meningkatkan performa dan kecepatan ketika suatu nilai dilewatkan ke dalam prosedur melalui suatu argument.

7. Datatype, mendefinisikan tipe data dari argument 8. Pl/sql subprogram, mendeklarasikan PL/SQL subprogram Contoh pembuatan prosedur: Ketika dijalankan remove_procedure akan melakukan penghapusan data pada employee tertentu. Pada saat dijalankan, parameter employee_id harus diisi dengan ID dari employee. Untuk menghapus data employee tertentu, prosedur ini menggunakan SQL delete dengan criteria employee_id yang sudah dimasukkan sebagai parameter. IV. SOAL LATIHAN 1. Di dalam skema HR buatlah table baru REGIONS2, yang mempunyai field yang sama persis dengan table REGIONS 2. Buatlah prosedur yang melakukan proses update REGIONS2 ketika data pada regions dilakukan proses penambahan data, delete data, maupun update data. Keterangan: Cursor adalah suatu tipe data yang ada di dalam PL/SQL oracle yang digunakan untuk menampung data hasil query sebelum diolah oleh prosedur. Ketika di deklarasikan, kursor ini memanggil query yang digunakan untuk pengambilan data di dalam table. Proses

pengolahan data dilakukan dengan cara pengambilan data satu persatu oleh cursor melalui proses fetch setelah sebelumnya dibuka dengan perintah open. Setelah selesai melakukan proses fetch maka cursor akan di tutup dengan perintah close. 3. Buatlah kolom baru pada table regions, kolom tersebut dapat menyimpan suatu nilai kapan data tersebut dimasukkan 4. Buatlah prosedur yang mampu melakukan proses pengecekan input data pada REGIONS, sehingga apabila data pada REGIONS bertambah data baru, maka hanya data yang terbaru saja yang ditambahkan ke table REGIONS2. 5. Buatlah scheduler_job yang menjalankan prosedur update data tersebut setiap waktu. V. SOAL PRAKTIKUM

Gambar 2. Skema pada oracle server branch Gambar 3. Skema pada oracle server headquarter Dari gambar diatas diskenariokan terdapat dua buah database Oracle yaitu di branch dan headquarters yang tehubung dengan database link. Skema database pada server Branch dapat dilihat pada Gambar 2. Sedangkan skema yang terdapat pada server Headquarters dapat dilihat pada Gambar 3.l Berdasarkan scenario dan rancangan database diatas, selesaikan permasalahan berikut 1. Buatlah table pada database headquarters sesuai dengan rancangan skema di Gambar 3.

2. Buatlah prosedur yang melakukan pemindahan data dari tabel order details yang ada di branch ke table order details yang ada di skema headquarters. Dimana Sum Quantity berisi jumlah barang yang diorder tiap waktu tertentu (bulan dan tahun tertentu), sedangkan timeid berisi id dari table Time yang merupakan waktu order barang dimana beris bulan dan tahun order. Apabila data sebelumnya yang ada di skema Headquarters sebelumnya sudah ada maka secara otomatis data akan dihapus 3. Buatlah prosedur yang melakukan proses update data dari Products dan Categories yang ada di skema branch ke table Products dan Categories yang ada di skema headquarters. Prosedur tersebut bisa melakukan update hanya pada data yang paling baru saja, sedangkan data yang lama tidak ikut terupdate (catatan: boleh modifikasi table Products dan Categories di skema Branch, sehingga info data baru dan lama dapat tersimpan) 4. Buatlah job scheduling yang menjalankan prosedur nomer 3 dan nomer 2 diatas secara berkala setiap 1 hari sekali