Dokumen tersebut membahas tentang database Oracle yang terdistribusi. Teknologi ini memungkinkan akses data dari database lokal maupun jauh secara transparan, baik dalam lingkungan homogen maupun heterogen. Oracle mendukung replikasi dan fragmentasi data untuk meningkatkan ketersediaan, skalabilitas, dan kinerja akses data secara terdistribusi.
2. Database Oracle Terdistribusi
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. Database merupakan salah satu komponen dalam teknologi informasi
yang mutlak diperlukan oleh semua organisasi yang ingin mempunyai suatu sistem informasi
yang terpadu untuk menunjang kegiatan organisasi demi mencapai tujuannya. Karena
pentingnya peran database dalam sistem informasi, tidaklah mengherankan bahwa terdapat
banyak pilihan software Database Management System (DBMS) dari berbagai vendor baik
yang gratis maupun yang komersial. Beberapa contoh DBMS yang populer adalah MySQL,
MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL.
Ada 2 tipe lingkungan basis data, yaitu lingkungan heterogeneous dan lingkungan
yang homogeneous.
1. Homogeneous
a. Seluruh site / server basis data yang terdistribusi mempunyai software RDBMS yang
sama.
b. 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.
c. Nampak oleh user sebagai sebuah aplikasi tunggal.
2. Hetergeneous
a. Beberapa site mungkin menggunakan skema dan software yang berbeda.
b. Antara satu site dengan site yang lain mungkin tidak sadar satu dengan yang lainnya.
Semua perusahaan atau organisasi yang menggunakan relational database management
system (RDBMS) biasanya mempunyai database yang banyak atau tidak hanya satu. Oleh
karena itu kenapa mereka biasanya menggunakan konsep sistem terdistribusi dalam
implementasinya. Ada beberapa faktor penyebabnya antara lain :
1. Perbedaan database biasanya didasarkan pada fungsionalitas dari database itu
sendiri, misalkan untuk bagian keuangan, pemasaran ataupun sumberdaya manusia.
2. Perbedaan database juga biasanya didasarkan pada letak geografis yang ada, semisal
untuk dalam satu kota.
3. Perbedaan database juga biasanya didasarkan pada bagaimana cara mengaksesnya
misalkan untuk database transaksi atau untuk penggudangan data (data warehouse).
3. 4. Database pada internet Commerce biasanya diduplikasi sebagai cadangan dengan
skala kemampuan yang sama.
5. Database juga dibedakan untuk sistem yang sedang berjalan ataupun untuk yang
sedang dikembangkan.
Untuk mengakomodasi kebutuhan itu maka oracle membentuk suatu skema yang
memungkinkan semuanya bisa terjadi dengan konsep sistem terdisribusi. Teknologi sistem
database terdistribusi adalah dimana kuncinya adalah integrasi, bukan sentralisasi, serta
teknologi ini mencoba untuk mencapai integrasi tanpa sentralisasi.
Database terdistribusi berbeda dengan database terdesentralisasi, dimana database
terdistribusi merupakan suatu database tunggal logik yang secara fisik disebarkan kepada
komputer-komputer pada banyak lokasi yang kemudian saling dikoneksikan oleh link data
komunikasi. Sedangkan database terdesentralisasi merupakan koleksi database independen
pada komputer yang tidak terhubung dalam suatu jaringan . Suatu sistem database terdistribusi
terdiri atas situs-situs yang saling berpasangan yang tidak saling membagi komponen fisik.
Sistem database akan berjalan pada situs yang independen. Dalam menyusun suatu data
terdistribusi perlu diperhatikan hal-hal sebagai berikut :
1. Replikasi data, data-data harus tetap up-to-date tanpa kompromisasi pada
performansi
2. Akses yang terjadi secara bersamaan, harus menghindari terjadinya kesalahan pada
data
3. Masalah keamanan
4. Masalah reliabilitas
Penjelasan mengenai Oracle ialah Perusahaan Oracle didirikan pada tahun 1977 oleh
tiga orang programmer, Bob Miner, Ed Oates, dan Larry Ellison yang menjabat sebagai CEO
(Chief Executive Officer) selama beberapa tahun sampai saat ini. Perusahaan ini berkonsentrasi
pada pembuatan database server di mainframe. Kisah sukses Oracle Corp terkait dengan
sejarah dan teori database relasional. Teori database relasional diperkenalkan hampir secara
simultan oleh Edgar F. Codd (dalam artikelnya yang terkenal Large shared data banks) dan
seorang penemu lain yang kurang dikenal, pada tahun 1969. IBM adalah perusahaan pertama
yang menerapkan model relasional ini dalam bahasa SQL, dengan produknya DB2. Sayangnya
IBM agak ragu akan keampuhan SQL dan model relasional (nantinya akan berpengaruh pada
ketertinggalan IBM di pasar database-server sistem operasi Unix dan Windows ).
Larry melihat perkembangan teori model relasional dan implementasi database
relasional dalam DB2. Ia yakin bahwa model relational adalah “way of the future” dan
4. memutuskan untuk mengimplementasikan model relasional di produk Oracle. Sebelumnya
produk database Oracle memakai model nonrelasional. Oracle menjadi pesaing kuat bagi IBM
dalam pasar database server di mainframe, terutama database bermodel relasional.
Sekitar pertengahan tahun 1980an, Larry mendiversifikasi produk Oracle (versi 6.x)
keluar mainframe, yakni ke sistem operasi Unix. Selanjutnya tahun 1996 Oracle Corp
mendiversifikasi Oracle (versi 7.x) ke sistem operasi Novell Netware, Windows NT, dan Linux
(versi 8.x, tahun 1997). Mulai pertengahan tahun 1990an Oracle Corp mulai membuat juga
produk-produk nondatabase-server seperti application server (WebDB, OAS), development
tools (Oracle Developer, Oracle Designer), dan application suite (Oracle Apps).
Oracle adalah relational database management system (RDBMS) untuk mengelola
informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi
yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:
1. Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
2. Menangani manajemen space dan basis data yang besar
3. Mendukung akses data secara simultan
4. Performansi pemrosesan transaksi yang tinggi
5. Menjamin ketersediaan yang terkontrol
6. Lingkungan yang terreplikasi
Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak
orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan
mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal,
dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai”
dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih
terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya
sangat mahal.
Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang
dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah.
Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau
menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar
membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan
informasi yang bervolume besar dan terus menerus bertambah besar.
Kelebihan Dan Kekurangan Oracle adalah Fleksibilitas adalah kemampuan untuk
menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah.
Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki
5. redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server
yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan
beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle
memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar
tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk
dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang
dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.
Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan
sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume
yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja,
MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak
bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi
karena keterbatasan server tersebut.
Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu
server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server
atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus
berkembang untuk mengikuti beban kerja yang terus meningkat. Demikianlah salah satu (atau
dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan
DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih
Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka
membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.
Sistem database terdistribusi pada Oracle mengijinkan aplikasi-aplikasi untuk
mengakses data dari database yang lokal maupun jauh. Dalam sebuah sistem database
terdistribusi homogen setiap database merupakan Oracle Database, sedangkan pada sistem
database terdistribusi heterogeneous paling sedikit satu diantara sekumpulan database bukan
merupakan Oracle Database. Distribusi basis data menggunakan arsitektur client/server untuk
memproses permintaan informasi.
Ada beberapa cara men support data relational di Oracle terkait dengan lingkungannya
yang terdistribusi adalah sebagai berikut :
1. Replikasi
Sistem merawat multiple copy dari data dan di simpan pada site yang berbeda
untuk pengaksesan yang cepat dan toleransi terhadap kesalahan. Jenis – jenis
Replikasi adalah sebagai berikut :
6. 1. Snapshot Replication
Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan
update. Biasanya digunakan pada saat memerlukan tampilan data seperti : daftar
harga, katalog, data yang digunakan untuk pengambilan keputusan.
2. Transactional Replication
Memelihara kekonsistenan transaksi yang terjadi.
3. Merge Replication
Merge replication memungkinkan pengguna bekerja dan merubah data sesuai
dengan wewenangnya. Pada saat server tidak dikoneksikan ke seluruh lokasi
dalam topologi, replikasi merubah ke nilai data yang sama.
2. Fragmentasi
Relasi di pecah menjadi beberapa bagian dan di simpan di beberapa tempat / site
yang berbeda. Jenis-jenis fragmentasi ada 2 yaitu :
1) Fragmentasi Horizontal
Fragmentasi horizontal yaitu setiap fragmen terdiri dari sebuah subset baris dari
relasi asal. Dengan fragmentasi horizontal, sebuah tabel r kita partisi ke dalam
sejumlah fragmen r-1, r-2, r-3, …, r-n yang merupakan pemilihan baris data.
Setiap baris data pada tabel r harus berada minimal di sebuah fragmen,
sedemikian hingga tabel awalnya dapat dibentuk kembali, jika diperlukan.
Keuntungan Fragmentasi Horizontal yaitu :
a) Efisiensi yaitu data disimpan di lokasi yang dekat dengan aplikasi yang
menggunakannya
b) Peningkatan kinerja yaitu optimasi akses data lokal
c) Keamanan yaitu hanya menyediakan data yang relevan /dibutuhkan
d) Kemudahan query yaitu penggabungan (union) hasil query dari berbagai
partisi
Dan kelemahan Fragmentasi Horizontal yaitu :
a) Kecepatan akses tidak konsisten artinya tergantung lokasi data yang
digunakan.
b) Tidak ada backup artinya tidak ada duplikat data
2) Fragmentasi Vertikal
Fragmentasi vertical yaitu setiap fragmen terdiri dari sebuah subset kolom dari
relasi asal. Fragmentasi vertikal dibuat dengan menambahkan atribut khusus
yaitu tuple-id, yang merupakan alamat fisik atau logika untuk tupel dan menjadi
7. kunci pada skema. Tetapi tuple-id tidak diperlihatkan ke user. Keuntungan dan
Kelemahan Fragmenasi Vertikal yaitu hampir sama dengan Partisi Horisontal,
hanya saja penggabungan data (hasil query) antar partisi lebih sulit karena
membutuhkan operasi join(tidak bisa union).
3. 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 :
1. 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.
2. Paralellisme
Query pada sebuah relasi r mungkin di proses pada beberapa node secara parallel.
3. 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 :
1. Cost update tinggi
Biaya untuk mengupdate setiap replica akan tinggi, karena setiap replica harus di
update.
2. 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)