Jumat, 26 April 2013


Pertanyaan:

Cari salah satu distributed relational database management sistem (DRDMS) –oracle, ibm db/2, sql server, mySQL, dll – dan buat tulisan bagaimana mereka men support database terdistribusi (fragmentasi vertikal, horisontal, replikasi, sinkronisasi, dll) dalam DRDMS tersebut.

Jawaban:
Database Terdistribusi bisa diartikan sebagai kumpulan dari data-data dengan berbagai bagian yang ditangani DBMS (Data Base Management System) secara terpisah dan berjalan pada sistem komputer. Semua komputer saling terhubung dan setiapsistem mempunyai hak kemampuan memproses untuk melayani permintaan lokal. Setiap sistem berpartisi pasibaik dalam melaksanakan satu atau lebih permintaan.Beberapa permintaan memerlukan data tidak hanya dari satu tempat melainkan beberapa tempat atau lebih.Database asli yang terdistribusi itu sendiri tidak terlihat oleh user dan transparansi dari data tersebut dapat ditunjukkan dalam berbagai cara.
Distribusi data dalam DBMS ada 2 bentuk :
a. Data partitioning (data yang terpisah-pisah)
b. Data replication (replikasi data)
Kedua bentuk distribusi data di atas merupakan transparan artinya tampak nyata oleh user dalam system distribusi database. Pada database terdistribusi (distributed database), data disimpan pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS (Database Management System) yang dapat berjalan secara independent. Berikut adalah contoh arsitektur dari DBMS itu sendiri.
a. Client-Server
b. Collaboration Server
c. Fragmentasi
d. Replikasi
Relational Database Management System (RDMS) yaitu sistem pengelolaan database yang bersifat transparan terhadap penggunanya, menggunakan jaringan computer sebagai proses terdistribusi databasenya, dan dibuat secara terdistribusi.
Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).
Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang. Oracle memiliki beberapa pendukung RDBMS, diantaranya replikasi dan fragmentasi.
Di oracle, Istilah replikasi dikenal sebagai suatu operasi dimana bisa menyalin dan memelihara obyek-obyek database dalam sejumlah database yang dimiliki suatu sistem distribusi. Karena replikasi tergantung pada teknologi basis data distribusi, database replikasi menawarkan keuntungan aplikasi yang tidak tersedia pada lingkungan yang murni database terdistribusi. Biasanya, replikasi dipakai untuk meningkatkan kinerja database lokal dan melindungi aplikasi akibat akses alternatif ke database. Contohnya, suatu aplikasi biasanya mengakses database lokal daripada mengakses data pada server remote untuk meminimalkan jaringan traffic dan untuk menghasilkan kinerja yang maksimal. Selanjutnya, aplikasi tersebut bisa terus berfungsi jika server lokal mengalami kegagalan, tetapi server lainnya yang telah mereplikasi data tetap berfungsi.

Solusi replikasi dari Oracle di antaranya adalah Oracle Stream dan Advanced Replication. Advanced Replication meliputi Multimaster, Materialized View, dan hybrid (antara Multimaster replication dan materialized view). Istilah Materialized View (MV) dipakai Oracle sejak versi 9i. Di versi 8i ke bawah di sebut sebagai snapshot. MV merupakan View yang dimaterialisasi. View konvensional tidak menyimpan data, hanya menyimpan definisi (nama kolom, table) sementara data secara fisik masih ada di tabel source-nya. MV dengan database link biasanya digunakan untuk replikasi (replication) dan distribusi data (distributed Database). Sementara MV dengan multi join (ke banyak tabel) digunakan untuk data warehouse.

Ada banyak jenis fragmentasi database Oracle. Ada yang berbahaya dan ada juga yang tidak. Salah satu contohnya adalah Tablespace Freespace Fragmentasi (TFF), yaitu salah satu jenis fragmentasi termudah untuk mendeteksi dan dapat digunakan untuk membuat laporan dan grafik sederhana. Ada dua jenis dasar TFF, Bubble dan Honeycombs. Bubbles adalah freespace yang berdiri sendiri, sedangkan Honeycombs adalah gabungan beberapa freespace Bubbles yang saling berdekatan.

  Setiap perubahan yang ada pada suatu server database akan berpengaruh pada server database yang lain, yang terhubung pada suatu system database terdistribusi. Mekanisme sinkronisasi menggunakan Oracle mirip seperti Firebird yaitu sebagai berikut :
1.           Menggunakan suatu stored procedure. Fitur ini digunakan untuk menangani proses sinkronisasi.
2.           Menggunakan trigger. Hal ini digunakan apabila skema yang ada pada kedua buah tabel yang berbeda database tersebut sama, dan proses sinkronisasi dilakukan secara realtime, maka dapat digunakan database trigger. Database trigger ini akan memproses segala perubahan data yang terjadi pada suatu tabel.
3.           Menggunakan paket DBMS_COMPARISON, digunakan utnk menyediakan fungsi – fungsi dan prosedur – prosedur yang digunakan untuk sinkronisasi data. Prosedur ini memungkinkan pendeteksian perbedaan data pada dua buah tabel, dan melakukan proses replikasi apabila diinginkan.

Langkah- langkah fragmentasi pada oracle :
1.     Siapkan 2 atau lebih komputer yang akan dihubungkan.
2.     Masuk ke menu database homepage.
3.     Login sebagai sys pada masing-masing computer.
4.     Buat user pada computer 1, klik menu administration-database user-create.
5.     Set privilege yang memungkinkan seperti create table, create view, create database link.
6.     Logout user sys, masuk kembali dengan user yang telah dibuat.
7.     Klik menu object browser-create-database link untuk mmembuat database link (database link adalah link untuk koneksi ke computer remote). Isikan parameter - parameter berikut untuk konfigurasi:

Pada computer 1:
Database link name : kekomp2
Connect to schema  : komp2
Password                  : password komp2
Remote hostname    : alamat IP computer 2
Remote host port     : 1521
Service name           : ORCL
Pada computer 2:
Database link name : kekomp1
Connect to schema  : komp1
Password                  : password komp1
Remote hostname    : alamat IP computer 1
Remote host port     : 1521
Service name           : ORCL

8.     Kemudian klik button next - create - test – finish.
9.     Database telah siap di fragmentasi.
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.


Kesimpulan:
kesimpulannya adalah Database terdistribusi membantu mendukung teknologi dalam replikasi dan fragmentasi antar database, dimana perusahaan menggunakan database terdistribusi karena terdapat beberapa factor, yaitu perbedaan fungi database, dikarenakan jarak perusahaan yang jauh antara pusat dan cabang, serta perbedaan dalam aplikasi yang dipergunakan.



Sumber Referensi
Citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1...