Torafahrudin’s Weblog

Just another WordPress.com weblog

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
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
tabel_mhs_te_di_mic_access

Buatlah tabel di oracle untuk mahasiswa ti sebagai berikut

Tabel mhs_ti yang di simpan di oracle
Tabel mhs_ti yang di simpan di oracle

Buatlah konektifitas ODBC untuk akses sebagai berikut

setting_odbc_ke_tabel_mhs_te
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
file_hs_di rubah

Konfigurasi LISTENER.ORA

konfigurasi listener
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
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
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
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).

Agustus 31, 2009 - Posted by | Database

4 Komentar »

  1. hwaaa.. ini pasti gara2 aq nanya tea ya mas??
    hihi..
    aq nya ga jadi pake cara ini ^_^

    Komentar oleh astri | September 20, 2009 | Balas

    • @astri
      hehehe inspirasi darimu astri

      Komentar oleh torafahrudin | Oktober 7, 2009 | Balas

  2. bagaimana menghubungkan web dengan mic.acces??

    Komentar oleh aya | Januari 16, 2010 | Balas


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: