Implementasi Distributed Database Heterogeneus (Oracle and Micc Access)
Distributed database (basis data terdistribusi) adalah sebuah lingkungan dimana data dalam dua atau lebih instance di akses oleh user seakan – akan sebagai sebuah single database. Pengakasesannya mungkin saja hanya terbatas pada read only atau mengijinkan updates pada satu atau lebih instances.
Ada 2 tipe lingkungan basis data, yaitu lingkungan heterogeneous dan lingkungan yang homogeneous.
Homogeneous
Seluruh site / server basis data yang terdistribusi mempunyai software RDBMS yang sama.
Seluruh site yang berpartisipasi sadar terhadap adanya site yang lain dan seluruh site telah terkonfigurasi untuk saling bekerjasama antar satu site dengan site yang lainnya.
Nampak oleh user sebagai sebuah aplikasi tunggal.
Hetergeneous
Beberapa site mungkin menggunakan skema dan software yang berbeda.
Antara satu site dengan site yang lain mungkin tidak sadar satu dengan yang lainnya.
Penyimpanan Data
Ada beberapa tipe dari penyimpanan data relational di Oracle terkait dengan lingkungannya yang terdistribusi :
Replikasi
Sistem merawat multiple copy dari data dan di simpan pada site yang berbeda untuk pengaksesan yang cepat dan toleransi terhadap kesalahan.
Fragmentasi
Relasi di pecah menjadi beberapa bagian dan di simpan di beberapa tempat / site yang berbeda.
Kombinasi Replikasi dan Fragmentasi
Relasi dipecah menjadi beberapa partisi dan di copy ke beberapa site yang berbeda.
Dengan adanya replikasi ini, maka akan ada beberapa keuntungan yang bisa di peroleh, yaitu :
Availability
Kegagalan akses terhadap sebuah relasi pada sebuah site tidak mempengaruhi terhadap ketersediaan data relasi yang diakses karena masih bisa mengakses relasi tersebut di site yang berbeda.
Paralellisme
Query pada sebuah relasi r mungkin di proses pada beberapa node secara parallel.
Reduced Data Transfer
Pengaksesan pada data mungkin lebih murah karena dapat diakses pada local site saja.
Walaupun dengan adanya distributed database mempunyai keuntungan, tetapi tetap ada beberapa kelemahan, yaitu :
Cost update tinggi
Biaya untuk mengupdate setiap replica akan tinggi, karena setiap replica harus di update.
Concurrency control bisa jadi sangat tinggi
Jika setiap replica dapat di update oleh transaksi-transaksi secara local, maka kompleksitas dari concurrcency controlnya juga akan meningkat.
(Satu satunya solusi adalah menganggap salah satunya sebagai primary copy dan apply concurrency control hanya pada primary control saja)
Fragmentasi
Fragmentasi merupakan sebuah konsep yang membagi data ke dalam bentuk vertical atau horizontal. Perhatikan contoh berikut :

- tabel_mhs_yang_difragmen_secara_horisontal
Dari gambar di atas fragmentasi horizontal akan membagi baris baris data menjadi 2 / lebih bagian data yang terpisah (* di simpan dalam tabel di site yang berbeda). Contoh yang akan dilakukan adalah menyimpan data mahasiswa_Te di mic access dan data mahasiswa_ti di oracle. Mengimplementasikan konsep Fragmentasi Horizontal di lingkungan oracle dengan menggunakan database link.
Buatlah tabel di Mic Access untuk mahasiswa te dengan isi sebagai berkut

- tabel_mhs_te_di_mic_access
Buatlah tabel di oracle untuk mahasiswa ti sebagai berikut

- Tabel mhs_ti yang di simpan di oracle
Buatlah konektifitas ODBC untuk akses sebagai berikut

- setting_odbc_ke_tabel_mhs_te
Konfigurasi ORACLE HS
-> Edit ORACLE_HOME\hs\admin\inithsodbc.ora (C:\oracle\product\10.2.0\db_1\hs\admin) file dan tambahkan nama sesuai di System ODBC yang kita setting (dalam kasus ini KONEK_MHS_TE)

- file_hs_di rubah
Konfigurasi LISTENER.ORA

- konfigurasi listener
Setelah itu restart LISTENER.ORA, bisa dari command prompt atau ms config, dari cmd ketik LSNRCTL STOP LISTENER, setelah itu start lagi LSNRCTL START LISTENER agar listener memakai konfigurasi yang baru
Konfigurasi tnsnames.ora (C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora), tambahkan ini di tnsnames.ora
access_db.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.14.13.58) (PORT = 1521)
)
(CONNECT_DATA =
(SID = hsodbc)
)
(HS=OK)
)

- konfigur tns names.ora
Buat DB link
SQL>CREATE DATABASE LINK access_db USING ‘access_db.world’;
Cek koneksi ke microsoft akses dari sqlplus

- pengecekan kalo db link berhasil
Buat query untuk menggabungkan 2 data yang terpisah dengan VIEW mhs (buat di oracle) yang berisi union dari data di ORACLE dan di MIC ACCESS
SQL> CREATE VIEW mhs AS
SELECT * FROM mhs_ti
UNION
SELECT * FROM mhs_te@access_db
Hasilnya jika di query dari TOAD seperti ini (* bisa juga dari sqlplus)

- hasil view sebagai 1 tabel mhs menggabungkan dari 2 tabel
Alhamdulillah kita sudah berhasil mencoba contoh distributed database sederhana (implementasi konsep fragmen horizontal) di 1 mesin dengan DBMS oracle dan Mic Access (bisa di implementasikan di mesin yang berbeda).
& Komentar »
Tinggalkan komentar
-
Arsip
- Oktober 2009 (2)
- Agustus 2009 (1)
- Juli 2009 (1)
- Maret 2009 (2)
- Januari 2009 (4)
- Oktober 2008 (1)
- September 2008 (12)
- Agustus 2008 (3)
-
Kategori
-
RSS
RSS Entri
Komentar RSS

hwaaa.. ini pasti gara2 aq nanya tea ya mas??
hihi..
aq nya ga jadi pake cara ini ^_^
@astri
hehehe inspirasi darimu astri