Distribusi Pada Oracle
DISTRIBUSI PADA ORACLE
23.7.1 Fungsionality pada Oracle DDBMS
Seperti pada kebanyakan DDBMS yang komersial, Oracle tidak mendukung mekanisme fragmentasi seperti yang telah didskusikan sebelumnya. Akan tetapi, DBA dapat secara manual melakukan distribusi data untuk mendapatkan pengaruh yang sama.
Tanggungjawab terletak pada end user untuk mengetahui bagaimana sebuah tabel dapat di fragmentasi dan untuk membangun pengetahuan ini ke dalam suatu aplikasi. Atau dengan kata lain, Oracle DDBMS tidak mendukung adanya fragmentasi transaparansi, tetapi mendukung adanya transparansi lokasi.
Berikut adalah overview tentang fungsionaliti dari Oracle DDBMS :
- Connectivity
- Global database name
- Database Link
- Referential integrity
- Heterogeneous distributed database
- Distributed query optimization
A. Connectivity
Oracle Net Sevice merupakan aplikasi data akses Oracle yang mendukung komunikasi antara client dan server. Net8 dapat melakukan komunikasi antara client-server maupun antara server-server melalui jaringan, dan mendukung kemampuan proses terdistribusi dan kemampuan DBMS terdistribusi.
Net8 juga bertanggungjawab untuk menterjemahkan berbagai karakter set yang berbeda atau data representasi yang ada ke dalam level operating sistem yang ada. Net8 menjaga koneksi dengan passing permintaan koneksi ke Transparent Network Substrate (TNS), yang menentukan server mana yang akan menangani request dan mengirimkan request dengan menggunakan protokol jaringan yang sesuai (TCP/IP atau SP/IPX). Net8 juga menangani komunikasi antara mesin yang berjalan dalam network protokol yang berbeda melalui Connection Manager (CMAN), yang pada versi sebelumnya ditangani oleh Multi Protokol Interchange pada Oracle 7.
Produk Oracle Names menyimpan informasi mengenai basis data dalam lingkungan terdistribusi dalam satu lokasi tunggal. Pada saat sebuah aplikasi meminta sebuah koneksi, Oracle Names respository akan di-konsul untuk menetukan lokasi dari server basis data. Alternatif penggunaan Oracle Names adalah dengan menyimpan informasi ke dalam lokal trsname.ora file pada setiap mesin client.
B. Global Database Names
Setiap basis data terdistribusi diberi sebuah nama yang disebut dengan global database name yang berbeda untuk semua basis data dalam sistem. Oracle membentuk sebuah global database name dengan menambahkan prefik pada nama dari domain network basis data dengan nama basis data lokal. Domain name harus mengikuti standar konversi Internet, dimana level harus dipisahkan dengan dot (.), diurutkan dari daun ke akar, dan dari kiri ke kanan. Sebagai contoh, gambar 1 merupakan hirarki yang mungkin untuk basis data DreamHome. Walaupun terdapat database lokal yaitu Rental seperti pada gambar, apat digunakan network domain nama LONDON.SOUTH.COM untuk membedakan bahwa basis data tersebut berada di London, dan bukan di Glasgow. Dalam kasus ini, global database name-nya adalah :
RENTALS.LONDON.SOUTH.COM
RENTALS.GLASGOW.NORTH.COM
C. Database Link
Basis data terdistribusi dalam Oracle dibangun dalam database link, yang menetukaan path komunikasi antara satu basis data Oracle dengan basis data yang lain (mungkin juga bukan Oracle). Tujuan dari basis data link adalah untuk membuat data remote tersedia untuk query maupun update dalam aksi yang esensial sebagai sebuah type dari store login ke dalam basis data remote. Sebuah link basisdata harus diberikan nama yang sama seperti global database name-nyadari remote basisdata yang mereferensi-nya. Dalam kasus ini, link basisdata harus transparan kepada user dari basisdata terdistribusi. Sebagai contoh, statement berikut ini akan membuat sebuah link basisdata pada lokal basisdata ke remote basisdata di Glasgow :
CREATE PUBLIC DATABASE LINK RENTALS.GLASGOW.NORTH.COM
Sekali database dibuat, dapat digunakan untuk melakukan refer ke tabel dan view pada remote basisdata dengan menambahkan @databaselink ke nama tabel atau view yang digunakan dalam sebuah perintah SQL. Dengan menggunakan pilihan Oracle terdistribusi, remote table dan view dapat diakses menggunakan INSERT, DELETE dan UPDATE. Sebagai contoh, dapat menggunakan perintah SQL seperti berikut ini untuk melakukan update ke tabel Staff pada remote site :
SELECT * FROM Staff@RENTALS.GLASGOW.NORTH.COM;
UPDATE Staff@RENTALS.GLASGOW.NORTH.COM SET salary = salary * 1.05;
User juga dapat mengakses tabel yang dimiliki oleh user yang lainnya dalam basisdata yang sama dengan member tambahan pada wal dari nama basisdata dengan nama skema. Sebagai contoh, jika di asumsikan user tertentu melakukan akses pada tabel Viewing dalam schema Supervisor, maka dapat menggunakan skema berikut ini :
SELECT * FROM Supervisor.Viewing@RENTALS.GLASGOW.NORTH.COM;
Statement tersebut dihubungkan dengan user tertentu ke remote basisdata dan kemudian menjalankan query pada tabel Viewing dalam skema Supervisor. Synonim dibuat untuk menyembunyikan fakta bahwa tabel Viewing milik Supervisor berada pada remote database. Perintah berikut akan menyebabkan seluruh referensi berikutnya ke Viewing untuk mengakses remote tabel Viewing yang dimiliki oleh Supervisor.
CREATE SYNONIM Viewing FOR Supervisor.Viewing@RENTALS.GLASGOW.NORTH.COM
SELECT * FROM Viewing;
Dengan cara yang sama, gunakan sinonim baik untuk independensi data maupun transaparansi lokasi.
D. Referential Integrity
Oracle tidak mengijinkan untuk mendeklarasikan referential integrity contrain pada basisdata dalam sistem terdistribusi. Akan tetapi relasi parent / child dari antara basisdata dapat di-maintained menggunakan trigger.
E. Heterogeneous Distributed Database
Heterogeneous Servis dapat diakses dengan cara :
- Transparan Gateway, dengan menggunakan akses SQL ke non-Oracle DBMS termasuk DB2, Infomix, Sysbase, SQL Server, dll. Gateway ini seara khusus berjalan pada mesin dengan non-Oracle DBMS sebagai lawan dari tempat Oracle Server berada. Akan tetapi, transparan gateway untuk DRDA, dimana menyediakan akses SQL ke basisdata DRDA-enable seperti DB2, SQL/DS dan SQL/400, tidak mengijinkan software Oracle pada target system.
- Generic Connectivity, mengatur agen yang dihubungkan dengan customer-privided drivers. Saat ini, Oracle menggunakan agen untuk ODBC dan OLE DB. Fungsi dari agen tersebut lebih terbatas dibandingkan dengan transparan gateway.
- c. Procedure Gateway, dengan mengimplementasikan call remote prosedur (RPC) ke aplikasi yang dibangun pada non-Oracle DBMS. Sebagai contoh, procedural gateway untuk AAPC menyediakan RPC yang mendukung melalui PL/SQL untuk mengakses transaksi CICS, IMS/TM dan IDMS/DC mainframe dengan sumber data seperti ADABAS, CA-IDBS,IMS, VSAM dan DB2.
Feature pada heterogeneous servis meliputi :
- Distributed Transction (transaksi terdistribusi)
Sebuah transaksi yang dapat menjangkau system oracle dan non-oracle dengan menggunakan two phase commit (2PC)
- Transparant SQL Access
Perintah SQL dikalukan dengan aplikasi yang secara transparan melakukan transformasi ke perintah SQL yang diakui oleh non-oracle system.
- Procedural access
Prosedural system, seperti system pengiriman pesan dan queuing, dapat diakses dari oracle server menggunakan PL/SQL
- Data dictionary translation
Untuk membuat system non-oracle Nampak sebagai server oracle yang lain, perintah SQL mengandung referensi ke table kamus data oracle yang ditransform ke perintah SQL yang mengandung referensi table kamus system non-Oracle.
- Pass-through SQL dan Strore Procedures
Sebuah aplikasi dapat langsung melakukan akses ke system non-oracle dengan menggunakan system oracle dialek. Store procedure pada system non-oracle yang berdasarkan SQL diperlakukan jika terdapat remote procedure PL/SQL.
- National language support
Heterogeneous services mendukung multibyte character set dan menterjemahkan sekumpulan karakter antara system oracle dan non-oracle.
- Optimization
Heterogeneus services dapat mengumpulkan table kepastian dan index statistic pada system non-oracle dan melewatkannya ke Oracle cost-based optimizer.
Distributed Query Optimization
Disributed query optimization disusun oleh basis data oracle local ke dalam sejumlah remote query yang berhubungan, yang akan dikirimkan ke remote DBMS untuk dieksekusi. Remote DBMS mengeksekusi query dan menggirimkan hasilnya kembali ke local node. Lokal node kemudian akan membentuk post processing yang diperlukan dan menggembalikan hasilnya ke user atau aplikasi.
Hanya data yang diperlukan dari remote table yang di ekstrak, akan mengurangi sejumlah data yang diminta untuk di transfer .
Dikutip dan diterjemahkan dari ebook manual oracle.
-
Arsip
- Mei 2010 (1)
- Februari 2010 (2)
- Agustus 2009 (1)
- Juli 2009 (1)
- Februari 2009 (1)
-
Kategori
-
RSS
RSS Entri
Komentar RSS