• Tidak ada hasil yang ditemukan

Basis Data Terdistribusi pada Oracle 9i

Sama halnya dengan SQL Server 2000, sistem basis data terdistribusi pada Oracle 9i memungkinkan aplikasi untuk mengakses data dari lokal dan

remote server. Sistem basis data terdistribusi pada Oracle 9i juga menggunakan

arsitektur client/server untuk melakukan proses permintaan informasi. Suatu sistem distribusi dimana setiap basis data adalah basis data Oracle disebut juga

homogenous distributed database system, sedangkan heterogeneous distributed database system, sedikitnya satu basis data bukanlah basis data Oracle.

Gambar 2.16. Sistem Basis Data Terdistribusi pada Oracle Sumber: Oracle9i Database Online Documentation

Gambar 2.16. memberikan ilustrasi sistem basis data terdistribusi pada Oracle, dimana terdiri dari tiga basis data yaitu: hq,mfg dan sales. Aplikasi dapat melakukan akses dan memodifikasi data pada beberapa basis data di suatu lingkungan terdistribusi.

Konsep inti dari suatu basis data terdistribusi pada Oracle 9i adalah

database link, yaitu koneksi antara dua server basis data yang mengijinkan client

untuk mengakses server-server tersebut sebagai satu kesatuan basis data secara logika. Sebagai contoh suatu query untuk mengetahui nama karyawan dari basis data sales pada basis data sales.us.americas.acme_auto.com adalah:

SELECT ename

FROM [email protected]_auto.com;

Untuk memaksimalkan prinsip transparansi, Oracle menggunakan

synonym. Synonym mengijinkan user mengakses tabel pada remote server sama

halnya dengan mengakses lokal server. Sebagai contoh, untuk membuat synonym dimasukkan perintah:

CREATE PUBLIC SYNONYM emp

FOR [email protected]_auto.com;

Dengan perintah tersebut, maka daripada mengeksekusi query seperti di bawah ini:

SELECT ename

FROM [email protected]_auto.com;

Suatu aplikasi dapat menjalankan query yang jauh lebih mudah.

SELECT ename FROM emp;

Untuk mewujudkan prinsip sistem basis data terdistribusi, maka Oracle 9i menyediakan teknologi replikasi, yang digunakan untuk proses menyalin (copy) dan memelihara data pada beberapa server.

Replikasi pada Oracle 9i atau disebut juga advanced replication, dapat digunakan untuk berbagai jenis aplikasi seperti yang disebutkan pada sub bab 2.3.2. Advanced replication dapat digunakan pada sistem yang menggunakan versi Oracle berbeda dan pada sistem operasi yang berbeda.

2.5.1. Komponen Dasar Replikasi pada Oracle 9i

Pada sub bab ini akan dijelaskan komponen dasar replikasi pada Oracle 9i yaitu:

a. Obyek Replikasi

Obyek replikasi adalah obyek pada basis data yang berada pada beberapa

server dalam suatu sistem basis data terdistribusi. Dalam lingkungan replikasi,

setiap perubahan yang terjadi pada obyek replikasi akan diterapkan pada replikanya di berbagai site. Obyek replikasi tersebut dapat berupa: table,

index, views, packages, procedure, user-defined type, trigger, synonym, indextype dan user-defined operator.

b. Grup Replikasi

Dalam lingkungan replikasi, Oracle 9i mengatur masing-masing obyek replikasi menggunakan group replikasi. Grup replikasi adalah koleksi atau kumpulan obyek replikasi yang secara logika saling berhubungan. Dengan

demikian maka akan memudahkan dalam hal penanganan beberapa obyek sekaligus. Suatu grup replikasi dapat terdiri dari beberapa obyek pada beberapa skema, dan satu skema dapat mengandung beberapa obyek pada beberapa grup replikasi. Tetapi satu obyek replikasi hanya dapat menjadi anggota dari satu grup replikasi.

c. Site Replikasi

Grup replikasi dapat berada pada beberapa site replikasi. Dalam lingkungan repliksi, Oracle 9i membagi site menjadi dua tipe, yaitu: site master dan site

materialized view. Satu site dapat menjadi site master dan materialized view

untuk grup replikasi yang berbeda. Tetapi, satu site tidak boleh menjadi site

master dan materialized view untuk grup replikasi yang sama.

2.5.2. Tipe Replikasi pada Oracle 9i

Advanced Replication mendukung tipe-tipe replikasi di bawah ini:

a. Replikasi Multimaster b. Replikasi Materialized view

c. Gabungan replikasi Multimaster dan Materialized view

Setiap site master dan materialized view menggunakan schedule link untuk menyebarkan data ke site yang lainnya. Schedule link adalah database link dengan daftar waktu untuk melakukan penyebaran transaksi yang tertunda.

2.5.2.1. Replikasi Multimaster

Replikasi Multimaster (biasa disebut juga dengan replikasi peer-to-peer atau n-way) memungkinkan beberapa site seolah-olah identik (equal peers) dalam mengatur grup-grup dari obyek replikasi dan saling berpartisipasi dalam model

update-everywhere. Semua site dalam replikasi multimaster ini adalah site master,

Gambar 2.17. Replikasi Multimaster

Sumber: Oracle9i Database Online Documentation

Perubahan yang terjadi pada satu site akan dikirim atau disebarkan ke semua site master yang berpartisipasi. Gambar 2.17. memberikan ilustrasi sistem replikasi multimaster. Setiap server basis data Oracle yang bertindak sebagai site

master dalam replikasi multimaster, secara otomatis mengumpulkan data dari

semua replika tabel dan menjamin konsistensi dari transaksi global serta menjamin integritas dari data. Pemecahan dari terjadinya konflik diatasi oleh setiap site master secara independent. Replikasi multimaster menyediakan replika yang lengkap dari setiap tabel yang direplikasi pada setiap site master.

Beberapa keuntungan dari replikasi multimaster ini adalah:

a. Replikasi ini dapat menjaga ketersediaan data dari suatu kegagalan. Sebab setiap site master memiliki replika yang lengkap.

b. Replikasi ini juga berguna untuk load balancing.

Ada dua tipe proses dari replikasi multimaster ini, yaitu: a. Replikasi Asynchronous

Disebut juga dengan replikasi store-and-forward. Dimana proses ini menangkap setiap perubahan lokal yang terjadi, menyimpannya dalam queue dan dalam interval tertentu menyebarkan perubahan tersebut ke site master yang lainnya. Dengan bentuk replikasi ini, maka terdapat waktu dimana setiap

b. Replikasi Synchronous

Pada bentuk replikasi ini, Oracle langsung menerapkan setiap perubahan yang pada suatu site menuju setiap site yang berpartisipasi dalam replikasi. Keseluruhan proses penerapan ini juga termasuk dalam satu transaksi perubahan tersebut. Bila data manipulasi tersebut gagal pada site manapun, maka keseluruhan transaksi akan dikembalikan (roll back). Replikasi

synchronous menjamin konsistensi data pada setiap site kapan pun (real-time). Update pada bentuk ini akan memakan waktu yang lama, sebab menggunakan

protokol two-phase commit (2PC) yang menjamin commit pada remote site.

2.5.2.2. Replikasi Materialized View

Suatu materialized view dapat terdiri dari replika site master tujuan secara lengkap atau hanya sebagian saja. Site master tujuan yang dimaksud di sini bisa berupa tabel master dari site master atau master materialized view dari site

materialized view. Master materialized view adalah materialized view yang

berperan sebagai master bagi materialized view yang lainnya. Multitier

materialized view adalah suatu keadaan dimana suatu materialized view

berdasarkan materialized view yang lainnya.

Di dalam materialized view, data dapat merupakan sebagian data dari site

master. Hal ini termasuk prinsip fragmentasi seperti pada sub bab 2.3.1.

Fragmentasi ini dapat juga berupa baris maupun kolom.

Beberapa keuntungan dari replikasi materialized view ini adalah:

a. Adanya lokal akses pada data, sehingga meningkatkan response time dan

availability.

b. Dapat mengurangi proses query yang berat dari site master atau site master

materialized view, karena user dapat melakukan query pada lokal materialized view.

c. Meningkatkan sekuritas dari data, dengan melakukan replikasi hanya subset dari site master tujuan.

Materialized view dapat dibagi lagi menjadi beberapa tipe untuk

a. Read-Only Materialized view

Suatu aplikasi dapat melakukan query pada read-only materialized view untuk mengurangi akses network menuju ke site master. Bagaimanapun, aplikasi harus melakukan akses kepada site master bila ingin melakukan manipulasi data (DML). Gambar 2.18 memberikan ilustrasi dari suatu replikasi read-only. Tabel pada master atau pada materialized view dari suatu read-only

materialized view tidak perlu memiliki grup replikasi, karena tidak ada data

yang boleh dirubah pada read-only materialized view.

Gambar 2.18. Read-Only Materialized view Sumber: Oracle9i Database Online Documentation

Keuntungan dari read-only materialized view ini adalah menghilangkan kemungkinan terjadinya konflik, sebab data tidak boleh berubah pada

materialized view ini, dan memungkinkan suatu materialized view yang

kompleks.

b. Updatable Materialized view

Dengan membuat suatu updatable materialized view maka user dapat melakukan proses manipulasi data, seperti insert, update dan delete dari site

master atau site master materialized view. Updatable materialized view dapat

memberikan ilustrasi dari suatu replikasi updatable materialized view.

Updatable materialized view harus merupakan bagian dari grup materialized view yang berdasarkan grup replikasi lainnya.

Gambar 2.19. Updatable Materialized view Sumber: Oracle9i Database Online Documentation

Keuntungan yang dapat diperoleh dari updatable materialized view adalah mengijinkan user untuk melakukan query dan update pada lokal replika data, meskipun tidak terkoneksi dengan site master atau site master materialized

view. Keuntungan lainnya yaitu membutuhkan resource yang lebih sedikit

daripada replikasi multimaster, sebab materialized view dapat memiliki data yang sedikit (merupakan subset dari master), sehingga kebutuhan disk space dan memory tidaklah terlalu banyak.

c. Writeable Materialized view

Pada tipe ini, user dapat melakukan data manipulasi (insert, update dan

delete), tetapi semua manipulasi ini tidak akan disebarkan ke site master,

sehingga apabila dilakukan proses refresh maka manipulasi ini akan hilang. Untuk menjamin materialized view konsisten dengan site master atau site

master materialized view, maka perlu dilakukan proses refresh dari materialized view tersebut secara periodik. Materialized view tersebut dapat dikelompokkan ke

a. Fast Refresh

Metode ini menggunakan materialized view log untuk melakukan perubahan hanya pada baris yang berubah sejak dilakukan refresh terakhir kalinya.

b. Complete Refresh

Metode ini melakukan perubahan pada semua materialized view, sesuai dengan data pada site master atau site master materialied view.

c. Force Refresh

Metode ini melakukan fast refresh bila memungkinkan. Bila fast refresh tidak memungkinkan, maka akan dilakukan complete refresh.

2.5.2.3. Gabungan Replikasi Multimaster dan Materialized view

Replikasi multimaster dan replikasi materialized view dapat digabungkan (hybrid) atau dicampurkan (mix) untuk memenuhi suatu kebutuhan aplikasi tertentu. Konfigurasi gabungan ini dapat memiliki banyak site master dan banyak

site materialized view untuk setiap site master. Sebagai contoh, pada Gambar

2.20. terdapat replikasi multimaster antara dua site master, dan materialized view pada site master.

Gambar 2.20. Gabungan Replikasi Multimaster Dan Materialized view Sumber: Oracle9i Database Online Documentation

2.5.3. Konflik Replikasi pada Oracle 9i

Asynchronous multimaster dan updatable materialized view harus

memperhatikan kemungkinan terjadinya konflik pada data. Sebab data pada beberapa site dapat melakukan operasi manipulasi data secara otonomi. Oracle 9i menyediakan berbagai macam metode solusi konflik yang sudah siap untuk diterapkan pada replika basis data sesuai dengan ketentuan (bussiness rule) dari perusahaan. Meskipun Oracle menyediakan fasilitas resolusi konflik, tetapi pilihan yang selalu diutamakan adalah mendesain suatu replikasi dengan menghindarkan kemungkinan terjadinya konflik.

Mekanisme penting yang terlibat dalam pemecahan konflik di Oracle 9i adalah column group, karena ini merupakan dasar dari deteksi dan pemecahan konflik update pada Oracle 9i. Column group adalah grup yang secara logika terdiri dari satu atau beberapa kolom pada tabel yang direplikasi. Setiap kolom pada tabel yang direplikasi adalah bagian dari satu column group. Pada saat melakukan replikasi pada tabel di master definition site, dapat juga dibuat column

group, kemudian memberikan solusi konflik untuk masing-masing column group.

Karakteristik dari suatu column group adalah:

a. Suatu kolom hanya boleh termasuk dalam satu column group. b. Column group dapat terdiri dari satu atau beberapa kolom dari tabel. c. Resolusi konflik dapat dipakai hanya untuk kolom dalam column group.

Untuk mendeteksi dan memecahkan konflik update pada suatu baris, site yang menyebarkan perubahan harus mengirimkan beberapa data tertentu, yang mengandung versi yang lama dan yang baru dari baris tersebut. Jumlah data yang dikirimkan dapat berbeda-beda, tergantung kebutuhan. Apabila semua site yang berpartisipasi dalam sistem replikasi ini menggunakan Oracle versi 8 ke atas, maka dapat digunakan teknologi minimum communication yang disediakan oleh Oracle. Dengan feature ini, maka jumlah data yang dikirim ke site yang lain untuk menentukan konflik pada tiap baris yang berubah dapat diminimalkan, sebab data yang disebarkan adalah:

a. Nilai lama dari primary key dan setiap kolom dalam column group (nilai sebelum modifikasi).

b. Nilai baru dari setiap kolom yang melakukan operasi update dalam column

group.

2.5.3.1. Deteksi Konflik pada Oracle 9i

Setiap site master dalam sistem replikasi, secara otomatis mendeteksi dan memecahkan konflik replikasi. Sebagai contoh, pada saat site master mengirim

deffered transaction queue menuju site master yang lain dalam sistem replikasi, remote procedure yang dipanggil pada site penerima dapat secara otomatis

mendeteksi terjadinya konflik.

Pada saat site materialized view mengirim deffered transaction queue ke

site master atau site master materialized view, maka site penerima akan

menjalankan deteksi dan resolusi konflik. Mekanisme refresh pada materialized

view menjamin, bahwa pada saat refresh telah selesai, maka data pada materialized view akan sama dengan data pada site master, termasuk hasil resolusi

konflik. Dengan demikian maka materialized view tidak perlu melakukan deteksi dan resolusi konflik.

Site penerima (yaitu site master atau site master materialized view)

dalam sistem replikasi, akan mendeteksi terjadinya konflik insert, update dan

delete, sebagai berikut:

a. Site penerima akan mendeteksi konflik update, bila terdapat perbedaan antara nilai lama dari baris yang direplikasi (nilai sebelum modifikasi) dengan nilai sekarang pada baris yang sama di site penerima.

b. Site penerima akan mendeteksi konflik uniqueness bila terjadi pelanggaran terhadap unique constraint, pada saat operasi insert atau update dari baris yang direplikasi.

c. Site penerima akan mendeteksi konflik delete, bila site tersebut tidak dapat menemukan baris yang dilakukan operasi update atau delete, karena primary

key dari baris tersebut tidak ada.

2.5.3.2. Resolusi Konflik pada Oracle 9i

Oracle menyediakan berbagai macam metode solusi konflik untuk memecahkan konflik update dan dapat menjamin kesatuan data pada semua site

pada berbagai sistem replikasi. Resolusi konflik tersebut adalah: minimum,

maximum, latest timestamp, earliest timestamp, additive, average, priority group, site priority, overwrite, dan discard. Oracle juga menyediakan resolusi konflik

untuk konflik uniqueness. Resolusi konflik tersebut adalah: append site name,

append sequence, dan discard. Oracle tidak menyediakan metode solusi konflik

untuk konflik delete. Tetapi Oracle mengijinkan untuk membangun metode solusi konflik sendiri untuk memecahkan masalah konflik sesuai dengan kebutuhan perusahaan.

Untuk menghindarkan terjadinya kesalahan pada resolusi konflik, Oracle menyediakan tambahan metode resolusi konflik sebagai backup bila resolusi konflik yang pertama tidak berhasil. Sebagai contoh, bila resolusi konflik latest

timestamp tidak dapat memecahkan konflik, karena waktu update bersamaan,

maka dapat dijalankan resolusi konflik yang kedua, seperti site priority.

2.6. Remote Access Server

Remote access adalah salah satu feature yang dimiliki oleh Microsoft

Windows 2000 Advanced Server. Feature tersebut memungkinkan remote atau

mobile user yang menggunakan komunikasi dial-up untuk mengakses network

perusahaan, seolah-olah terhubung secara langsung. Remote access juga menyediakan fasilitas virtual private network (VPN), sehingga user dapat mengakses network perusahaan melalui internet.

User dapat menjalankan software remote access dan memulai koneksi ke remote access server. Pada remote access server, yang merupakan Windows 2000 Server, akan mengenali user dan services sessions sampai diakhiri oleh user

sendiri atau network administrator. Remote access client menggunakan tool standar untuk mengakses resources. Sebagai contoh, pada Windows 2000, client dapat menggunakan Windows Explorer untuk membuat koneksi ke drive dan untuk membuat koneksi ke printer.

Salah satu tipe konektivitas remote access server pada Windows 2000 adalah dial-up networking. Dial-up networking digunakan bila remote access

client akan membuat suatu koneksi dial-up yang tidak permanen ke physical port

telecommunications, seperti analog phone, ISDN, atau X.25. Sebagai contoh, mobile user atau home user yang menghubungi nomor telepon port remote access server milik perusahaan. Seperti yang diilustrasikan pada gambar 2.21.

Gambar 2.21. Remote Access Server sebagai Dial-Up Networking Server Sumber: Windows 2000 Books Online

Dokumen terkait