Modul Data Warehouse dan Data Mining
Download Modul Data Warehouse dan Data Mining Bab 10 - Database terdistribusi pada datawarehouse
Bab 10 - Database terdistribusi pada datawarehouse
Abstract
Menjelaskan konsep konsep database tedistribusi untuk pemanfaatan datawarehouse
Kompetensi
Mahasiswa mampu memahami konsep database tedistribusi untuk pemanfaatan datawarehouse
Motivasi utama di belakang pengembangan sistem basis data adalah suatu keinginan
untuk menyatukan data operasional dari suatu organisasi dan pengaksesan data yang
terkontrol. Integrasi data dan kontrol data telah diimplementasikan pada bentuk data
tersentralisasi, namun hal ini bukan merupakan tujuan dari pengembangan sistem basis
data. Adanya perkembangan pada jaringan komputer menghasilkan suatu bentuk
desentralsasi . Pendekatan desentralisasi ini merupakan gambaran dari suatu organisasi
yang memiliki banyak cabang organisasi, dimana terbagi – bagi menjadi beberapa
divisi, departemen, proyek dan masih banyak lagi, dan dalam bentuk infrastruktur dan
akan terbagi – bagi kembali menjadi beberapa kantor cabang, pabrik-pabrik dimana
setiap unit tersebut mengoperasionalkan datanya secara sendiri – sendiri. (Date,2000).
Data yang digunakan secara bersama- sama dan efisiensi dalam pengaksesan data
harus diiringi dengan perkembangan dari sistem basis data terdistribusi, yang
merupakan refleksi dari struktur organisasi, sehingga data dapat diakses dimana saja
dan melakukan penyimpanan data di lokasi yang memang data tersebut sering
digunakan.
Distribusi DBMS harusnya dapat mengatasi sekumpulan permasalahan informasi
(islands of information ). Basis data terkadang dianggap sebagai kumpulan elektronik
saja yang terbatas dan tidak dapat di akses, seperti daerah yang terpencil. Dan DDBMS
merupakan jawaban dari masalah geografi, masalah arsitektur komputer , masalah
protokol komunikasi dan lain- lainnya.
KONSEP
Untuk membahas mengenai DBMS terdistribusi , terlebih dahulu mengetahui apa yang
di maksud dengan basis data terdistribusi dan DBMS terdistribusi.
Basis data terdistribusi ; Secara logik keterhubungan dari kumpulan-kumpulan
data yang digunakan bersama-sama, dan didistribusikan
melalui suatu jaringan komputer.
DBMS Terdistribusi ; Sebuah sistem perangkat lunak yang mengatur basis
data terdistribusi dan membuat pendistribusian data
secara transparan.
DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa fragment. Dimana setiap
fragment disimpan pada satu atau lebih komputer dibawah kontrol dari DBMS yang terpisah , dengan
mengkoneksi komputer menggunakan jaringan komunikasi.
Masing- masing site memiliki kemampuan untuk mengakses permintaan pengguna
pada data lokal dan juga mampu untuk memproses data yang disimpan pada komputer
lain yang terhubung dengan jaringan.
Pengguna mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu
aplikasi lokal dan aplikasi global, sehingga DDBMS memiliki karakteristik yaitu :
Kumpulan dari data logik yang digunakan bersama-sama
Data di bagi menjadi beberapa fragment
Fragment mungkin mempunyai copy ( replika )
Fragment / replika nya di alokasikan pada yang digunakan
Setiap site berhubungan dengan jaringan komunikasi
Data pada masing-masing site dibawah pengawasan DBMS
DBMS pada masing-masing site dapat mengatasi aplikasi lokal, secara
otonomi
Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.
Dari definisi tersebut , sistem diharapkan membuat suatu distribusi yang transparan.
Basis data terdistribusi terbagi menjadi beberapa fragment yang disimpan di beberapa
komputer dan mungkin di replikasi, dan alokasi penyimpanan tidak diketahui
pengguna . Adanya Transparansi di dalam basis data terdistribusi agar terlihat sistem
ini seperti basis data tersentralisasi. Hal Ini mengacu pada prinsip dasar dari DBMS
(Date,1987b). Transparansi memberikan fungsional yang baik untuk pengguna tetapi
sayangnya mengakibatkan banyak permasalahan yang timbul dan harus diatasi oleh
DDBMS.
Point utama dari definisi basis data terdistribusi adalah sistem terdiri dari data yang
secara fisik di distribusikan pada beberapa site yang terhubung dengan jaringan.
Jika data nya tersentralisasi walaupun ada pengguna lain yang mengakses data
melewati jaringan , hal ini bukan disebut dengan DDBMS melainkan pemrosesan
secara distribusi.
DDBMS memiliki perbedaan dengan paralel DBMS.
Paralel DBMSs ; Sistem manajemen basis data ini menggunakan beberapa
prosesor dan disk yang dirancang untuk dijalankan secara
paralel , apabila di mungkinkan, selama hal tersebut
digunakan untuk memperbaiki kinerja dari DBMS
Sistem DBMS berbasis pada sistem prosesor tunggal dimana sistem prosesor tunggal
tidak memiliki kemampuan untuk berkembang, untuk menghitung skala efektifitas dan
biaya, keandalan dan kinerja dari sistem. Paralel DBMS di jalankan oleh berbagai
multi prosesor . Paralel DBMS menghubungkan beberapa mesin yang berukuran kecil
untuk menghasilkan keluaran sebuah mesin yang berukuran besar dengan skalabilitas
yang lebih besar dan keandalan dari basis datanya.
Untuk menopang beberapa prosesor dengan akses yang sama pada satu basis data,
DBMS paralel harus menyediakan manajemen sumber daya yang dapat diakses
bersama. Sumber daya apa yang dapat digunakan bersama, dan bagaimana sumber
daya tersebut di implementasikan, mempunyai efek langsung pada kinerja dan
skalabilitas dari sistem , hal ini tergantung dari aplikasi atau lingkungan yang
digunakan.
Ada tiga arsitektur yang digunakan pada paralel DBMS yaitu :
a. Penggunaan memory bersama ( share memory )
b. Penggunaan disk bersama ( share disk )
c. Penggunaan secara sendiri-sendiri ( share nothing )
Arsitektur pada penggunaan secara sendiri – sendiri ( share nothing ) hampir sama
dengan DBMS terdistribusi, namun pendistribusian data pada paralel DBMS hanya
berbasis pada kinerja nya saja. Node pada DDBMS adalah merupakan pendistribusian
secara geographic, administrasi yang terpisah , dan jaringan komunikasi yang lambat,
sedangkan node pada paralel DBMS adalah hubungan dengan komputer yang sama
atau site yang sama.
Penggunaan Memori Bersama ( Share Memory ) adalah sebuah arsitektur yang
menghubungkan beberapa prosesor di dalam sistem tunggal yang menggunakan
memori secara bersama – sama ( gbr 1.3 ). Dikenal dengan SMP (Symmetric
Multiprocessing ), metode ini sering digunakan dalam bentuk workstation personal yang
mensupport beberapa mikroprosesor dalam paralel dbms, RISC ( Reduced Instruction
Set Computer ) yang besar berbasis mesin sampai bentuk mainframe yang besar.
Arsitektur ini menghasilkan pengaksesan data yang sangat cepat yang dibatasi oleh
beberapa prosesor , tetapi tidak dapat digunakan untuk 64 prosesor dimana jaringan
komunikasi menjadi masalah ( terjadinya bottleneck).
Penggunaan Disk Bersama ( Share Disk ) adalah sebuah arsitektur yang
mengoptimalkan jalannya suatu aplikasi yang tersentrallisasi dan membutuhkan
keberadaan data dan kinerja yang tinggi ( Gbr 1.4 ). Setiap prosesor dapat mengakses
langsung semua disk , tetapi prosesor tersebut memiliki memorinya sendiri – sendiri.
Seperti halnya penggunaan secara sendiri – sendiri arsitektur ini menghapus masalah
pada penggunaan memori bersama tanpa harus mengetahui sebuah basis data di
partisi. Arsitektur ini di kenal dengan cluster
Penggunaan Secara sendiri – sendiri ( Share nothing ) ; sering di kenal dengan
Massively parallel processing ( MPP ) yaitu arsitektur dari beberapa prosesor di mana
setiap prosesor adalah bagian dari sistem yang lengkap , yang memiliki memori dan
disk ( Gbr 1.5 ). Basis data ini di partisi untuk semua disk pada masing – masing sistem
yang berhubungan dengan basis data dan data di berikan secara transparan untuk
semua pengguna yang menggunakan sistem . Arsitektur ini lebih dapat di hitung
skalabilitasnya dibandingkan dengan share memory dan dapat dengan mudah
mensupport prosesor yang berukuran besar. Kinerja dapat optimal jika data di simpan
di lokal dbms.
Paralel teknologi ini biasanya digunakan untuk basis data yang berukuran sangat besar
( terabites ) atau sistem yang memproses ribuan transaksi perdetik. Paralel DBMS
dapat menggunakan arsitektur yang diinginkan untuk memperbaiki kinerja yang
kompleks untuk mengeksekusi kueri dengan menggunakan paralel scan, join dan teknik
sort yang memperbolehkan node dari banyak prosesor untuk menggunakan bersama
pemrosesan kerja yang di gunakan.
KEUNTUNGAN DAN KERUGIAN DARI DDBMS
Data dan aplikasi terdistribusi mempunyai kelebihan di bandingkan dengan sistem
sentralisasi basis data. Sayangnya , DDBMS ini juga memiliki kelemahan.
KEUNTUNGAN
Merefleksikan pada bentuk dari struktur organisasinya
Ada suatu organisasi yang memiliki sub organisasi di lokasi yang tersebar di beberapa tempat,.sehingga basis data yang digunakan pun
tersebar sesuai lokasi dari sub organisasi berada.
Penggunaan bersama dan lokal otonomi
Distribusi secara geografis dari sebuah organisasi dapat terlihat dari data terdistribusinya, pengguna pada masing-masing site dapat
mengakses data yang disimpan pada site yang lain. Data dapat dialokasikan dekat dengan pengguna yang biasa menggunakannya pada
sebuah site, sehingga pengguna mempunyai kontrol terhadap data dan mereka dapat secara konsekuen memperbaharui dan memiliki
kebijakkan untuk data tersebut. DBA global mempunyai tanggung jawab untuk semua sistem. Umumnya sebagian dari tanggung jawab
tersebut di serahkan kepada tingkat lokal, sehingga DBA lokal dapat mengatur lokal DBMS secara otonomi.
Keberadaan data yang ditingkatkan
Pada DBMS yang tersentralisasi kegagalan pada suatu site akan mematikan seluruh operasional DBMS. Namun pada DDBMS kegagalan
pada salah satu site, atau kegagalan pada hubungan komunikasi dapat membuat beberapa site tidak dapat di akses, tetapi tidak
membuat operasional DBMS tidak dapat dijalankan.
Keandalan yang ditingkatkan
Sebuah basis data dapat di replikasi ke dalam beberapa fragmen sehingga keberadaanya dapat di simpan di beberapa lokasi juga. Jika
terjadi kegagalan dalam pengaksesan data pada suatu site di karenakan jaringan komunikasi terputus maka site yang ingin mengakses
data tersebut dapat mengakses pada site yang tidak mengalami kerusakan.
Kinerja yang ditingkatkan
Sebuah data ditempatkan pada suatu site dimana data tersebut banyak di akses oleh pengguna, dan hal ini mempunyai dampak yang
baik untuk paralel DBMS yaitu memiliki kecepatan dalam pengkasesan data yang lebih baik dibandingkan dengan basis data
tersentralisasi Selanjutnya, sejak masing-masing site hanya menangani sebagian dari seluruh basis data , mengakibakan perbedaan pada
pelayanan CPU dan I/O seperti yang di karakteristikan pada DBMS tersentralisasi.
Ekonomi
Grosch's Law menyatakan daya listrik dari sebuah komputer di hitung menurut biaya yang dihabiskan dari penggunaan
peralatannya, tiga kali biaya peralatan, 9 kali nya dari daya listrik . Sehingga lebih murah jika membuat sebuah sistem yang terdiri dari
beberapa mini komputer yang mempunyai daya yang sama jika dibandingkan dengan memiliki satu buah super komputer. Oleh karena
itu lebih efektif untuk menambah beberapa workstation untuk sebuah jaringan dibandingkan dengan memperbaharui sistem
mainframe. Potensi yang juga menekan biaya yaitu menginstall aplikasi dan menyimpan basis data yang diperlukan secara geograf i
sehingga mempermudah operasional pada setiap situs.
Perkembangan modular
Di dalam lingkungan terdistribusi, lebih mudah untuk menangani ekspansi . Site
yang baru dapat di tambahkan ke suatu jaringan tanpa mempengaruhi operational
dari site - site yang ada. Penambahan ukuran basis data dapat di tangani dengan
menambahkan pemrosesan dan daya tampung penyimpanan pada suatu jaringan.
Pada DBMS yang tersentralisasi perkembangan akan di ikuti dengan mengubah
perangkat keras dan perangkat lunak.
KERUGIAN
Kompleksitas
Pada distribusi DBMS yang digunakan adalah replikasinya, DBMS yang asli tidak digunakan untuk operasional, hal ini untuk menjaga
reliabilitas dari suatu data. Karena yang digunakan replikasinya maka hal ini menimbulkan berbagai macam masalah yang sangat
kompleks dimana DBA harus dapat menyediakan pengaksesan dengan cepat , keandalan dan keberadaan dari basis data yang up to date
. Jika aplikasi di dalam DBMS yang digunakan tidak dapat menangani hal - hal tersebut maka akan terjadi penurunan pada tingkat kinerja
, keandalan dan kerberadaan dari DBMS tersebut, sehingga keuntungan dari DDBMS tidak akan terjadi.
Biaya
Meningkatnya kekompleksan pada suatu DDBMS berarti biaya untuk perawatan dari DDBMS akan lebih besar dibandingkan dengan
DBMS yang tersentralisasi, seperti biaya untuk membuat jaringannya, biaya komunikasi yang berjalan , orang-orang yang ahli dalam
penggunaan, pengaturan dan pengawasan dari DDBMS.
Keamanan
Pada DBMS yang tersentralisasi, pengaksesan data lebih terkontrol. Sedangkan pada DDBMS bukan hanya replikasi data yang harus di
kontrol tetapi jaringan juga harus dapat di kontrol keamanannya.
Pengontrolan Integritas lebih sulit
Kesatuan basis data yang mengacu pada keabsahan dan kekonsistenan dari data yang disimpan. Kesatuan biasanya di ekspresikan pada
batasan, dimana berisi aturan untuk basis data yang tidak boleh diubah. Membuat batasan untuk integrity, umumnya memerlukan
pengaksesan ke sejumlah data yang sangat besar untuk mendefinisikan batasan tersebut, namun hal ini tidak termasuk di dalam
operasional update itu sendiri. Dalam DDBMS, komunikasi dan biaya pemrosesan yang dibutuhkan untuk membuat suatu batasan
integrity mungkin tidak diperbolehkan.
HOMOGEN DAN HETEROGEN DDBMS
Sebuah DDBMS dapat di klasifikasikan menjadi homogen dan heterogen. Dalam sistem yang homogen,
semua site menggunakan product DBMS yang sama. Dalam sistem heterogen , product DBMS yang
digunakan tidak sama, begitu juga dengan model datanya sehingga sistem dapat terdiri dari beberapa
model data seperti relasional, jaringan, hirarki dan obyek oriented DBMS.
Sistem homogen lebih mudah di rancang dan di atur. Pendekatan ini memberikan
perkembangan yang baik, tidak mengalami kesulitan dalam membuat sebuah site baru
pada DDBMS , dan meningkatkan kinerja dengan mengeksploitasikan kemampuan
dalam pemrosesan paralel di beberapa site yang berbeda.
Sistem heterogen, menghasilkan beberapa site yang individual dimana mereka
mengimplementasikan basis data mereka dan penyatuan data nya di lakukan di tahap
berikutnya. Pada sistem ini penterjemahan di perlukan untuk mengkomunikasikan
diantara beberapa DBMS yang berbeda. Untuk menghasilkan transparansi DBMS,
pengguna harus dapat menggunakan bahasa pemrograman yang digunakan oleh
DBMS pada lokal site. Sistem akan mencari lokasi data dan menampilkan sesuai
dengan yang diinginkan.
Data yang dibutuhkan dari site lain kemungkinan :
Memiliki hardware yang berbeda
Memiliki product DBMS yang berbeda
Memiliki hardware dan produk DBMS yang berbeda
Jika hardwarenya yang berbeda tetapi produk DBMS nya sama , maka yang akan di
ubah adalah kode dan panjang katanya. Jika yang berbeda produk DBMSnya maka
akan lebih kompleks lagi karena yang akan di ubah adalah proses pemetaan dari
struktur data dalam satu model data yang sama dengan struktur data pada model data
yang lain. Sebagai contoh : relasional pada model data relasional di petakan ke dalam
beberapa rekord dan set di model data jaringan . Juga diperlukan perubahan pada
bahasa queri yang digunakan ( Contoh pada SQL Perintah SELECT di petakan
kedalam model jaringan menjadi FIND atau GET ). Jika keduanya yang berbeda, maka
dua tipe perubahan ini diperlukan sehingga pemrosesan menjadi lebih kompleks.
Kompleksitas lainnya adalah memiliki skema konseptual yang sama, dimana hal ini di
bentuk dari penyatuan data dari skema individual pada konseptual lokal. Untuk
mengatasi hal tersebut di gunakan GATEWAY , dimana metode ini di gunakan untuk
mengkonversi bahasa pemrograman dan model data di setiap DBMS yang berbeda ke
dalam bahasa dan model data relasional . Tetapi metode ini juga memiliki keterbatasan
, yang pertama tidak mensupport manjemen transaksi, bahkan untuk sistem yang
sepasang. Dengan kata lain metode ini di antara dua buah sistem hanya merupakan
penterjemah query. Sebagai contoh , sebuah sistem tidak dapat mengkoordinasikan
kontrol konkurensi dan transaksi pemulihan data yang melibatkan pengupdatean pada
basis data yang berhubungan. Kedua, metode ini hanya dapat mengatasi masalah
penterjemahan query yang di tampilkan dalam satu bahasa ke bahasa lainnya yang
sama.
GAMBARAN SEBUAH JARINGAN
Jaringan ( Networking ) adalah kumpulan dari komputer - komputer yang terhubung
dengan suatu garis komunikasi yang digunakan untuk menukar informasi.
Jaringan komputer mungkin di klasifikasikan dalam beberapa jenis. Salah satu
klasifikasinya adalah menurut jarak yang digunakan untuk menghubungkan beberapa
komputer : Jarak pendek ( Local Area Network ) atau jarak jauh ( Wide Area Network )
. Sebuah Local area network (LAN ) digunakan untuk menghubungkan komputer pada
suatu site yang sama. Wide area network (WAN) digunakan untuk menghubungkan
komputer yang jarak nya lebih jauh. Jenis lain dari Wan yaitu Metropolitan area
network ( MAN ) yang biasanya meliputi sebuah kota atau pinggiran kota . Dengan
jarak geografi yang luas , hubungan komunikasi pada WAN relatif lebih lambat dan
kurang dapat diandalkan dibandingkan dengan LAN. Kecepatan pengiriman data pada
WAN biasanya berkisar 33.6 kilobit per detik ( dial up dengan modem ) sampai 45
megabit per detik ( T3 tanpa melalui saluran pribadi ). Kecepatan pengiriman data
pada LAN lebih tinggi yaitu 10 megabit per detik ( dengan ethernet ) sampai 2500
megabit per detik ( ATM ) dan memiliki keandalan data yang baik . Yang jelas DDBMS
yang menggunakan LAN untuk komunikasi akan memberikan waktu respon yang lebih
cepat dibandingkan dengan WAN.
Jika di perhatikan cara dari memilih path atau routine, dapat diklasifikasikan jaringan
nya dengan point to point atau dengan broadcast. Dalam jaringan point to point, jika
sebuah site ingin mengirimkan pesan ke semua site, pesan tersebut harus di pisah –
pisahkan ke dalam beberapa pesan. Di jaringan broadcast , semua site mendapatkan
semua pesan , tetapi masing –masing pesan memiliki awalan yang menjadi identitas
site tujuan sehingga site yang lainnya di abaikan. WAN biasanya menggunakan jenis
jaringan point to point dan LAN menggunakan jenis jaringan broadcast.
Organisasi internasional untuk standarisasi telah menetapkan sebuah protokol yang
mengatur cara agar sebuah sistem dapat berkomunikasi ( ISO,1981) . Pendekatan
yang dilakukan adalah dengan membagi jaringan dalam beberapa jenis lapisan.
Protokol tersebut di kenal dengan ISO Open Systems Interconnection Model ( OSI
Model ) , yang terdiri dari tujuh pabrikan lapisan independen. Lapisan ini mentransmisi
bit yang belum di olah melewati jaringan , mengatur keterhubungan dan memastikan
hubungannya bebas dari kesalahan , pengaturan rute atau lintasannya dan kontrol
jaringannya, mengatur masalah antara sistem mesin yang berbeda .
PROTOKOL JARINGAN
Protokol jaringan adalah sekumpulan aturan – aturan yang menentukan bagaimana
pesan antar komputer dapat terkirim , diterjemahkan dan di proses.
Pada bagian ini diuraikan beberapa gambaran protokol jaringan utama.
TCP/IP ( Transmission Control Protocol / Internet Protocol )
Ini adalah protokol standard komunikasi dalam internet, sekumpulan jaringan
komputer di seluruh dunia. TCP memiliki tanggung jawab untuk memeriksa
pengiriman data yang benar dari client ke server. IP menyediakan mekanisme
routing, berdasarkan pada empat byte alamat tujuan ( alamat IP ). Bagian depan
dari alamat IP menunjukan bagian jaringan dari alamat dan bagian belakang
menunjukan bagian host dari alamat . Batas pemisah jaringan dengan bagian host
dari alamat IP tidak ditentukan . TCP/IP adalah protokol terskema , yaitu semua
pesan tidak hanya berisikan alamat dari pos yang di tuju tetapi juga alamat dari
jaringan yang dituju . Hal ini mengijinkan pesan TCP/IP di kirim ke banyak jaringan
dalam suatu organisasi atau seluruh dunia.
SPX/IPX ( Sequenced Packet Exchange / Internetwork Package Exchange )
Novell membuat SPX/IPX sebagai bagian dari sistem operasi netware. Hampir
sama dengan TCP, SPX menjamin bahwa pesan yang masuk sampai dengan
lengkap tetapi menggunakan protokol IPX Netware sebagai mekanisme
pengirimannya. Seperti IP , IPX menangani rute paket yang melewati jaringan .
Tidak seperti IP, IPX menggunakan 80 bit untuk alamat, dengan 32 bit bagian
alamat jaringan dan 48 bit bagian alamat host( hal ini lebih besar dibandingkan
dengan yang digunakan pada IP yaitu 32 bit ) IPX tidak menangani paket
fragmentasi . Bagaimanapun juga salah satu yang terbaik dari IPX adalah
pemberian alamat host yang otomatis. Pemakai dapat memindahkan lokasi
jaringan ke tempat yang lain dan melanjutkan pekerjaan dengan mudah dengan
menyambungkannya lagi ke jaringan . Ini sangat penting sekali untuk pemakai yang
sering berpindah – pindah. Sampai netware 5.0 , SPX/IPX adalah protokol yang
digunakan , tetapi untuk menggambarkan betapa pentingnya internet, Netware 5.0
mengangkat TCP/IP sebagai protokol yang digunakan .
NetBIOS (Network Basic Input Output System )
Protokol jaringan dikembangkan pada tahun 1984 oleh IBM dan Sytek sebagai
aplikasi standard komunikasi untuk PC. Pada awalnya NetBIOS dan NetBEUI (
NetBIOS dengan pengembangan tampilan pemakai ) telah mempertimbangkan
satu protokol . Kemudian NetBIOS banyak digunakan sejak digunakan bersama
protokol NetBEUI,TCP/IP, dan SPX/IPX. NetBEUI adalah protokol jaringan yang
kecil, cepat dan efisien yang disalurkan bersama produk jaringan microsoft .
Bagaimanapun , ini bukan rute skema, jadi konfigurasi khusus dengan
menggunakan Net BEUI untuk komunikasi bersama sebuah Lan dan TCP/IP
melebihi LAN.
APPC ( Advanced Program to Program Communciation )
Protokol komunikasi tingkat tinggi dari IBM yangmenyediakan sebuah program
untuk berinteraksi dengan jaringan lain. Ini dapat mendukung client – server dan
memperhitungkan pendistribusian dengan menyediakan pemrograman tampilan
biasa pada sebuah platform IBM. Ini di dukung perintah untuk mengatur
pembahasan, pengiriman, dan penerimaan data dan manajemen transaksi
menggunakan dua tahap pelaksanaannya. Perangkat lunak APPC adalah salah
satu bagian atau yangtersedia secara bebas, dalam semua sistem operasi non IBM
lainnya. Sejak APPC hanya di dkukung oleh sistem arsitektur jaringan IBM dengan
memanfaatkan protokol LU 6.2 untuk membahas pendirian APPC dan LU 6.0
sering kali sama.
DECnet
Decnet adalah protokol rute skema
komunikasi digital, DECnet dapat mendukung
ethernet tipe LAN dan Baseband dan
Broadband WAN meallui saluran pribadi atau
publik. Ini terkoneksi dalam PDp,
VAX,PC,Mac dan Statiun Kerja.
AppleTalk
Ini adalah rute skema protokol untuk apple
yang diperkenalkan tahun 1985, dapat
mendukung metode akses percakapan milik
apple sebaik ethernet dari token ring.
Pengantur jaringan Appletalk dan metode
akses percakapan lokasl bersama di bangun
MacIntoshs dan Laserwrites
WAP ( Wireless Application Protocol )
Standard digunakan pada telepon seluler, pager dan alamat lain dengan akses
keamanan ke email dan halaman web berbasis text. Diperkenalkan pada tahun
1997dengan menggunakan phone.com ( Unwired Planet), Ericson, Motorola dan
Nokia, WAP yang menyediakan lingkungan yangbaik untuk aplikasi tanpa kabel
yang tersedia dalam rekan wireless dalam TCP /IP dan kerangka kerja untuk
persatuan telepon seperti pengontrol panggilan dan akes lihat telepon.
FUNGSI dan ARSITEKTUR DDBMS
Pada bagian ini akan d bahas bagaimana efek dari distribusi suatu basis data untuk
fungsi dan pembuatan aristektur DDBMS.
FUNGSI
Dalam bahasan ini, diharapkan pada DDBMS mempunyai paling tidak satu dari
fungsional suatu DBMS tersentralisasi. Fungsi – fungsi pada DDBMS yaitu :
1. Memberikan pelayanan komunikasi untuk memberikan akses terhadap site- site
yang terhubung baik yang site yang jarak dekat maupun yang letak nya cukup jauh
dan mengijinkan pencarian data ke site – site yang terhubung.
2. Memiliki sistem katalog untuk menyimpan kumpulan detail data yang telah
didstribusikan.
3. Mendistribusikan proses pencarian, termasuk optimasisasi dan pengaksesan dari
jarak jauh.
4. Memberikan pengendalian keamanan untuk akses ataupun otoritas yang telah
diberikan .
5. Memberikan kontrol konkurensi untuk memelihara data yang telah di replikasi.
6. Memberikan pelayanan recoveri untuk mengambil laporan yang rusak dari setiap
site dan kegagalan dalam hubungan komunikasi
Pada ANSI-SPARC ada tiga tingkatan arsitektur dalam DBMS yang dimana arsitektur ini memberikan
konstribusi yang banyak untuk arsitektur DDBMS. Perbedaan yang dimiliki oleh DDBMS lebih kompleks /
rumit jika dibandingkan dengan arsitektur DBMS. Seperti yang dapat dilihat pada gambar 1.6 yang berisi
beberapa tingkatan pada arsitektur DDBMS :
*. Kumpulan tingkatan eksternal global
*. Tingkatan global konseptual
*. Tingkatan fragmentasi dan tingkatan distribusi
*. Kumpulan tingkatan untuk masing – masing DBMS lokal yang
disesuaikan dengan arsitektur pada ANSI-SPARC
Garis dalam gambar tersebut menggambarkan pemetaan antara tingkatan – tingkatan yang cocok
dengan tingkat konseptual dalam arsitektur ANSI-SPARC.
Skema Fragmentasi dan Pendistribusian
Skema ini adalah gambaran tentang bagaimana data secara logika di pisah – pisah.
Alokasi dari tingkatan ini adalah gambaran tentang ke mana data tersebut akan di si
mpan dan membuat laporan dari semua penggandaan.
Skema Lokal
Setiap DBMS lokal memiliki skemanya masing - masing . Konseptual lokal dan
skema internal pembentukannya sama dengan arsitektur DBMS. Skema pemetaan
memetakan fragment – fragment ke dalam alokasi skema kemudian menjadi obyek
eksternal pada basis data lokal. Hal ini merupakan kemandirian dari suatu basis data
dan merupakan dasar untuk mendukung keanekaragaman suatu DBMS.
ARSITEKTUR FEDERATED DBMS
Sistem ini berbeda dengan DDBMS dalam tingkat penyediaan otonomi lokalnya. Hal
itu dapat di lihat dari penggambaran arsitekturnya pada gambar 1.7 , dimana pada
FDBMS berbentuk tightly coupled dimana pada arsitektur ini terdapat skema global
konseptual (SGC) yang merupakan subset dari lokal konseptual skema berisi data
dari setiap lokal sistem yang dapat digunakan bersama . GCS dari sistem tightly
coupled mempunyai kesatuan data dari setiap skema konseptual dan eksternal nya.
Sedangkan pada DDBMS, SGC adalah gabungan dari semua skema konseptual pada
setiap lokal sistem.
FDBMS diperdebatkan tidak memiliki skema global konseptual (Liwtin,1988) yang
mana sistem ini lebih condong kepada loosely coupled dimana skema eksternal
terdiri dari satu atau lebih skema konseptual.
KOMPONEN ARSITEKTUR DDBMS
Pada arsitektur DDBMS terdapat empat komponen utama yaitu :
1. Komponen DBMS lokal
2. Komponen Komunikasi Data (DC)
3. Katalog Sistem Global (GCS)
4. Komponen DDBMS Terdistribusi
Keempat komponen ini dapat di lihat dari gambar 1.8
Komponen Lokal DBMS
Komponen LDBMS ini adalah komponen standard dari DBMS, yang memiliki
tanggung jawab untuk mengontrol data lokal pada masing – masing lokasi yang telah
memiliki basisdata. Hal ini berarti setiap lokasi memiliki SGC masing – masing yang
berisi semua informasi tentang data . Pada sistem homogen komponen LDBMS
memiliki produk sistem yang sama yang di replikasi di setiap lokasi. Dan pada sistem
heterogen akan ada dua lokasi dengan produk DBMS yang berbeda atau bentuk
DBMSnya.
Komponen Komunikasi Data
Komponen ini adalah perangkat lunak dan perangkat keras yang memungkinkan
semua lokasi dapat berkomunikasi dengan baik satu sama lain. Komponen
komunikasi data berisikan informasi tentang site dan jaringannya.
Katalog Sistem Global ( GCS )
GCS memiliki kesamaan fungsi dengan sistem katalog pada tersentralisasi. GCS
menangani informasi yang spesifik mengenai pendistribusian dari suatu sistem,
seperti fragmentasi, penggandaan dan alokasi nya. Komponen ini dapat mengatur
dirinya sendiri seperti mendistribusikan basisdata dan fragmentasi , replikasi
keseluruhan atau sentralisasi. Pada GCS yang melakukan replikasi secara
keseluruhan menjamin otonomi dari setiap site , seperti melakukan modifikasi harus di
beritahukan kepada seluruh site yang terhubung. GCS yang tersentalisasi juga
menjanjikan otonomi untuk sitenya dan sangat sensitif terhadap suatu kesalahan pada
suatu sitenya.
Pendekatan ini digunakan pada sistem terdistribusi R* (Williams at al,1982). Dalam
sistem ini terdapat katalog lokal di setiap site yang terdiri dari meta data yang
berhubungan data yang disimpan. Untuk Keterhubungannya disimpan di beberapa
site, hal ini merupakan tanggung jawab pada setiap lokal katalog untuk mencatat
definisi dari setiap fragmen dan setiap replikas dari setiap fragmen dan mencatat
dimana fragment atau replika tersebut di alokasikan. Kapanpun fragmen atau replika
di gunakan pada lokasi yang berbeda, lokal katalog harus selalu mengupdate
perubahan tersebut, sehingga fragmen atau replika dapat diandalkan keberadaannya.
Komponen DBSM Terdistribusi
Komponen DDBMS adalah pengendalian unit di semua sistem.
PERANCANGAN RELASIONAL BASIS
DATA TERDISTRIBUSI
Faktor - faktor yang dianjurkan untuk digunakan pada basis data terdistribusi yaitu :
1. Fragmentasi : Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang
disebut dengan fragment, sehingga disebut juga distribusi. Ada dua buah
fragmentasi yaitu horisontal dan vertikal. Horisontal fragmentasi yaitu subset dari
tupel sedangkan vertikal fragmentasi subset dari atribut.
2. Alokasi, setiap fragmen disimpan pada situs dengan distribusi yang optimal.
3. Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada beberapa situs
yang berbeda.
Definisi dan alokasi dari fragmen harus berdasarkan pada bagaimana basis data
tersebut digunakan.
Perancangan harus berdasarkan kuantitatif dan kualitatif informasi. Kuantitatif
informasi digunakan pada alokasi data sedangkan kualitatif informasi digunakan untuk
fragmentasi.
Kuantitatif informasi termasuk :
Seberapa sering aplikasi di jalankan
Situs mana yang aplikasinya dijalankan
Kriteria kinerja untuk transaksi dan aplikasi
Kualitatif informasi termasuk transaksi yang dieksekusi pada aplikasi, termasuk
pengaksesan relasi, atribut dan tuple , tipe pengaksesan( R atau W ) dan predikat dari
operasional.
Definisi dan alokasi dari fragment menggunakan strategi untuk mencapai obyektifitas
yang diinginkan :
1. Referensi Lokal
Jika memungkinkan data harus disimpan dekat dengan yang menggunakan.
Bila suatu fragmen digunakan di beberapa lokasi , akan menguntungkan jika
fragmen data tersebut disimpan di beberapa lokasi juga.
2. Reliabilitas dan Availabilitas yang ditingkatkan
Keandalan dan ketersediaan data ditingkatkan dengan replikasi. Ada salinan
lain yang disimpan di lokasi yang lain.
3. Kinerja yang di terima
Alokasi yang tidak baik dapat mengakibatkan bottleneck terjadi, sehingga akan
mengakibatkan banyaknya permintaan dari beberapa lokasi yang tidak dapat
dilayani dan data yang diminta menjadi tidak up to date menyebabkan kinerja
turun.
4. Seimbang antara kapasitas penyimpanan dan biaya
Pertimbangan harus diberikan pada ketersediaan infrastruktur dan biaya untuk
penyimpanan di setiap lokasi, sehingga untuk efisiensi dapat digunakan tempat
penyimpanan yang tidak mahal.
5. Biaya komunikasi yang minimal
Pertimbangan harus diberikan untuk biaya akses jarak jauh. Biaya akan
minimal ketika kebutuhan lokal maksimal atau ketika setiap site menduplikasi
data nya sendiri. Bagaimanapun ketika data yang di replikasi telah di update.
Maka data yang ter-update tersebut harus di duplikasi ke seluruh site, hal ini
yang menyebabkan naiknya biaya komunikasi.
ALOKASI DATA
Ada empat strategis menurut penempatan data : sentralisasi, pembagian partisi,
replikasi yang lengkap dan replikasi yang dipilih.
1. Sentralisasi
Strategi ini berisi satu basis data dan DBMS yang disimpan pada satu situs dengan pengguna yang didistribusikan pada jaringan
(pemrosesan distribusi). Referensi lokal paling rendah di semua situs, kecuali situs pusat, harus menggunakan jaringan untuk pengaksesan
semua data. Hal ini berarti juga biaya komunikasi tinggi.
Keandalan dan keberadaan rendah, kesalahan pada situs pusat akan mempengaruhi semua sistem basis data.
2. Partisi ( Fragmentasi )
Strategi ini mempartisi basis data yang dipisahkan ke dalam fragmen-fragmen, dimana setiap fragmen di alokasikan pada satu site. Jika
data yang dilokasikan pada suatu site, dimana data tersebut sering digunakan maka referensi lokal akan meningkat. Namun tidak akan
ada replikasi , dan biaya penyimpanan nya rendah, sehingga keandalan dan keberadaannya juga rendah, walaupun pemrosesan distribusi
lebih baik dari pada sentralisasi. Ada satu kelebihan pada sentralisasi yaitu dalam hal kehilangan data, yang hilang hanya ada pada site
yang bersangkutan dan aslinya masih ada pada basis data pusat. Kinerja harus bagus dan biaya komunikasi rendah jika distribusi di
rancang dengan sedemikian rupa..
3. Replikasi yang lengkap
Strategi ini berisi pemeliharaan salinan yang lengkap dari suatu basis data di
setiap site. Dimana referensi lokal, keberadaan dan keandalan dan kinerja
adalah maksimal. Bagaimanapun biaya penyimpanan dan biaya komunikasi
untuk mengupdate besar sekali biayanya. Untuk mengatasi masalah ini,
biasanya digunakan snapshot . Snapshot digunakan untuk menyalin data pada
waktu yang telah ditentukan. Data yang disalin adalah hasil update per periode ,
misalkan per minggu atau perjam, sehingga data salinan tersebut tidak selalu up
to date. Snapshot juga digunakan untuk mengimplementasikan table view di
dalam data terdistribusi untuk memperbaiki waktu yang digunakan untuk kinerja
operasional dari suatu basis data.
4. Replikasi yang selektif
Strategi yang merupakan kombinasi antara partisi,replikasi dan sentralisasi. Beberapa item data di partisi untuk mendapatkan referensi
lokal yang tinggi dan lainnya, yang digunakan di banyak lokasi dan tidak selalu di update adalah replikasi ;selain dari itu di lakukan
sentralisasi. Obyektifitas dari strategi ini untuk mendapatkan semua keuntungan yang dimiliki oleh semua strategi dan bukan
kelemahannya. Strategi ini biasa digunakan karena fleksibelitasnya.
FRAGMENTASI
Kenapa harus dilakukan fragmentasi ?
Ada empat alasan untuk fragmentasi :
1. Kebiasaan ; umumnya aplikasi bekerja dengan tabel views dibandingkan dengan
semua hubungan data. Oleh karenanya untuk distribusi data , yang cocok
digunakan adalah bekerja dengan subset dari sebuah relasi sebagai unit dari
distribusi.
2. Efisien ; data disimpan dekat dengan yang menggunakan. Dengan tambahan
data yang tidak sering digunakan tidak usah disimpan.
3. Paralel ; dengan fragmen-fragmen tersebut sebagai unit dari suatu distribusi ,
sebuah transaksi dapat di bagi kedalam beberapa sub queri yang dioperasikan
pada fragmen tersebut. Hal ini meningkatkan konkurensi atau paralelisme dalam
sistem, sehingga memeperbolehkan transaksi mengeksekusi secara aman dan
paralel.
4. Keamanan ; data yang tidak dibutuhkan oleh aplikasi tidak disimpan dan
konsukuen tidak boleh di ambil oleh pengguna yang tidak mempunyai otoritas.
Fragmentasi mempunyai dua kelemahan, seperti yang disebutkan sebelumnya :
1. Kinerja; cara kerja dari aplikasi yang membutuhkan data dari beberapa lokasi
fragmen di beberapa situs akan berjalan dengan lambat.
2. Integritas; pengawasan inteegritas akan lebih sulit jika data dan fungsional
ketergantungan di fragmentasi dan dilokasi pada beberapa situs yang berbeda.
Pembetulan dari fragmentasi
Fragmentasi tidak bisa di buat secara serampangan, ada tiga buah aturan yang
harus dilakukan untuk pembuatan fragmentasi yaitu :
1. Kelengkapan ; jika relasi contoh R di dekomposisi ke dalam fragment R1 , R2 ,R3
, … Rn , masing-masing data yang dapat ditemukan pada relasi R harus muncul
paling tidak di salah satu fragmen. Aturan ini di perlukan untuk meyakinkan
bahwa tidak ada data yang hilang selama fragmentasi
2. Rekonstruksi; Jika memungkinkan untuk mendefinisikan operasional relasi yang
akan dibentuk kembali relasi R dari fragmen-fragmen.
Aturan ini untuk meyakinkan bahwa fungsional ketergantungan di perbolehkan .
3. Penguraian; Jika item data di muncul pada fragment Ri , maka tidak boleh
muncul di fragmen yang lain. Vertikal fragmentasi diperbolehkan untuk aturan
yang satu ini, dimana kunci utama dari atribut harus diulanmg untuk melakukan
rekonstruksi. Aturan ini untuk meminimalkan redudansi.
Tipe dari Fragmentasi
Ada dua tipe utama yang dimiliki oleh fragmentasi yaitu horisontal dan vertikal , tetapi
ada juga dua tipe fragmentasi lainnya yaitu : mixed dan derived fragmentasi .
1. Horisontal fragmentasi ;
Fragmentasi ini merupakan relasi yang terdiri dari subset sebuah tuple . Sebuah horisontal fragmentasi di hasilkan dari menspesifikasikan
predikat yang muncul dari sebuah batasan pada sebuah tuple didalam sebuah relasi. Hal ini di definisikan dengan menggunakan operasi
SELECT dari aljabar relasional . Operasi SELECT mengumpulkan tuple yang memiliki kesamaan kepunyaan; sebagai contoh, tuple yang
semua nya menggunakan aplikasi yang sama atau pada situs yang sama. Berikan relasi R sebuah horisontal fragmentasi yang didef inisikan
:
P ( R )
dimana P adalah sebuah predikat yang berdasarkan atas satu atau lebih atribut didalam suatu relasi.
Contoh : Diasumsikan hanya mempunyai dua tipe properti yaitu tipe flat dan
rumah, horisontal fragmentasi dari properti untuk di sewa dari tipe properti dapat
di peroleh sebagai berikut :
P1 : tipe = 'Rumah'( properti sewa)
P2; tipe = 'Flat'(properti sewa)
Hasil dari operasi tersebut akan memiliki dua fragmentasi , yang satu terdiri dari
tipe yang mempunyai nilai 'Rumah' dan yang satunya yang mempunyai nilai
"Flat'.
Fragmentasi seperti ini mempunyai keuntungan jika terjadi transaksi pada
beberapa aplikasi yang berbeda dengan Flat ataupun Rumah.
Fragmentasi skema memuaskan aturan pembetulan (Correctness rules) :
1. Kelengkapan ; setiap tuple pada relasi muncul pada fragment
P1 atau P2
2. Rekonstruksi ; relasi Properti sewa dapat di rekonstruksi dari fragmentasi
menggunakan operasi Union , yakni :
P1 U P2 = Properti sewa
3. Penguraian ; fragmen di uraikan maka tidak ada tipe properti yang mempunyai
tipe flat ataupun rumah.
Terkadang pemilihan dari strategi horisontal fragmentasi terlihat jelas.
Bagaimanapun pada kasus yang lain, diperlukan penganalisaan secara detail
pada aplikasi. Analisa tersebut termasuk dalam menguji predikat atau
mencari kondisi yang digunakan oleh transaksi atau queri pada aplikasi.
Predikat dapat berbentuk sederhana (atribut tunggal) ataupun kompleks
(banyak atribut). Predikat setiap atribut mungkin mempunyai nilai tunggal
ataupun nilai yang banyak. Untuk kasus selanjutnya nilai mungkin diskrit atau
mempunyai range.
Fragmentasi mencari group predikat minimal yang dapat digunakan sebagai
basis dari fragmentasi skema. Set dari predikat disebut lengkap jika dan hanya
jika ada dua tuple pada fragmen yang sama bereferensi pada kemungkinan
yang sama oleh beberapa aplikasi . Sebuah predikat dinyatakan relevan jika
ada paling tidak satu aplikasi yang dapat mengakses hasil dari fragment yang
berbeda.
2. Vertikal Fragmentasi
Adalah relasi yang terdiri dari subset pada atribut
Fragmentasi vertikal ini mengumpulkan atribut yang digunakan oleh beberapa
aplikasi. Di definisikan menggunakan operasi PROJECT pada aljabar relasional.
Relasi R sebuah vertikal fragmentasi di definisikan :
a1,a2,…an (R)
dimana a1,a2,…an merupakan atribut dari relasi R
contoh :Aplikasi Payroll untuk PT. Dream Home membutuhkan nomor pokok
daari Staff ( Sno) dan Posisi, Sex, DOB,Gaji dan NIN atribut setiap anggota dari
staff tersebut; departemen kepegawaian membutuhkan ; Sno,Fname,Lname,
Alamat,Tel_no dan Bno atribut, Vertikal fragmentasi dari
staff untuk contoh ini diperlukan sebagai berikut :
S1 = Sno,posisi,sex,dob,gaji,nin
(Staff)
S2 = Sno,Fname,Lname,Alamat,Tel_no,Bno
(Staff)
Akan menghasilkan dua buah fragmen , kedua buah fragmen tersebut berisi
kunci utama ( Sno ) untuk memberi kesempatan yang aslinya untuk di
rekonstruksi. Keuntungan dari vertikal fragmentasi ini yaitu fragmen-fragmen
tersebut dapat disimpan pada situs yang memerlukannya. Sebagai tambahan
kinerja yang di tingkatkan, seperti fragmen yang diperkecil di bandingkan dengan
yang aslinya.
Fragmentasi ini sesuai dengan skema kepuasan pada aturan pembetulan
(Correcness Rules):
1. Kelengkapan ; setiap atribut di dalam relasi staff muncul pada setiap fragmen
S1 dan S2
2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan
operasi natural join , yakni :
S1 S2 = Staff
3. Penguraian ; fragment akan diuraikan kecuali kunci utama, karena diperlukan
untuk rekonstruksi .
3. Campuran Fragmentasi
Fragmentasi ini terdiri dari horisontal fragmentasi setelah itu vertikal fragmentasi, atau vertikal fragmentasi lalu horisontal
fragmentasi.
Fragmentasi campuran ini di definisikan menggunakan operasi SELECT dan
PROJECT pada aljabar relasional.
Relasi R adalah fragmentasi campuran yang didefinisikan sbb :
P ( a1,a2,…an (R)) atau a1,a2,…an (P (R))
dimana p adalah predikat berdasarkan satu atau lebih atribut R dan a1,a2,…an
adalah atribut dari R
contoh :
Vertikal fragmentasi staff dari aplikasi payroll dan departemen kepegawaian
kedalam :
S1 = Sno,posisi,sex,dob,gaji,nin
(Staff)
S2 = Sno,Fname,Lname,Alamat,Tel_no,Bno
(Staff)
Lalu lakukan horisontal fragmentasi pada fragmen S2 menurut nomor cabang:
S21 = Bno = B3(S2)
S22 = Bno = B5(S2)
S23 = Bno = B7(S2)
Dari fragmentasi tersebut akan menghasilkan tiga buah fragmen yang baru
berdasarkan nomor cabang. Fragmentasi tersebut sesuai dengan aturan
pembetulan.(Correction rules)
1. Kelengkapan ; Setiap atribut pada relasi staff muncul pada fragmentasi S1 dan S2
dimana setiap tupel akan mencul pada fragmen S1 dan juga fragmen S21 ,S22
dan S23 .
2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan
operasi Union dan Natural Join , yakni: S1 (S21 U S22 U S23 ) = Staff
3. Penguraian ; penguraian fragmen ; tidak akan ada Sno yang akan muncul di
lebih dari satu cabang dan S1 dan S2 adalah hasil penguraian kecuali untuk
keperluan duplikasi kunci utama.
4. Derived Horisontal Fragmentation
Beberapa aplikasi melibatkan sua atau lebih relasi gabungan. Jika relasi disimpan
ditempat yang berbeda, mungkin akan memiliki perbedaan yang siginifikan di
dalam proses penggabungan tersebut. Di dalam fragmentasi ini akan lebih pasti
keberadaan relasi atau fragmen dari relasi di tempat yang sama.
Derived fragmen : horisontal fragmen yang berdasarkan fragmen dari relasi yang
utama
Istilah anak akan muncul kepada relasi yang mengandung foreign key dan parent
pada relasi yang mengandung primari key. Derived fragmentasi di jabarkan
dengan menggunakan operasi semijoin dari aljabar relasional.
Misalkan relasi anak adalah R dari relasi parent adalah S, maka fragmentasi
derived digambarkan sebagai berikut :
RI = R Sf L I w
Dimana w adalah nomor dari fragmen horisontal yang telah digambarkan pada S
dan f adalah atribut join
Contoh :
Suatu perusahan mempunyai aplikasi yang menggabungkan relasi staff dan
PropertyForRent secara bersamaan. Untuk contoh ini di asumsikan staff telah
terfragmentasi secara horisontal berdasarkan nomor cabang. Jadi data yang
berhubungan dengan cabang disimpan di tempat :
S3 = Bno = B3(Stsff)
S4 = Bno = B5(Staff)
S5 = Bno = B7(Staff)
Diasumsikan bahwa properti PG4 diatur oleh SG14. Ini seharusnya berguna
untukmenyimpan data propetri yang menggunakan strategi fragmentasi sama. Ini
di peroleh dengan menggunakan derived fragmentasi untuk menfragmentasi
secara horisontal relasi PropertiForRent berdasarkan nomor cabang :
PI = PropertiForRent staffno Sf 3 I 5
Menghasilkan 3 fragmen ( P3,P4 dan P5) . satu terdiri dari proreprti yang diatur
oleh staff dengan nomor cabang B3 (P3), yang satunya terdiri dari properti yang
diatur oleh staf dengan nomor cabang B5 ( P5) dan yangterakhir terdiri dari
properti yang diatur oleh staff dengna nomro cabang B7 (P7) . Akan mudah dilihat
skema fragmentasi ini sesuai dengan peraturan fragmentasi.
5. Tidak Terdapat Fragmentasi
Strategi final adalah tidak memfragmentasikan relasi. Sebagai contoh, relasi
cabang hanya mengandung sejumlah update secara berkala . Daripada mencoba
untuk menfragmentasikan relasi secara horisontal, misalnya nomor cabang akal
lebih masuk akal lagi untuk membiarkan relasi keseluruhan dan mereplikasi relasi
cabang pada setiap sisinya.
TRANSPARANSI PADA DDBMS
Definisi dari DDBMS yang telah dijelaskan pada subbab 1.1 menyatakan bahwa
sistem seharusnya melakukan distribusi yang transparan kepada pengguna. Detail
dari implementasi pengguna tidak perlu mengetahuinya. DDBMS menampilkan
banyak level transparan. Semua transparansi berpartisipasi di semua obyek, agar
dapat membuat basis data terdistribusi ini dapat sejalan dengan basis data
tersentralisasi . Ada 4 macam tipe utama dari transparansi dalam DDBMS yaitu
1. Transparansi Distribusi
2. Transparansi Transaksi
3. Transparansi Kinerja
4. Transparansi DBMS
1. Transparansi Distribusi
Distribusi transparansi memperbolehkan pengguna untuk mengetahui bahwa
basis data sebagi sebuah single logikal entitas. Jika suatu DDBMS
memperlihatkan transparansi terdistribusinya, pengguna tidak perlu tahu
mengenai fragmentasi dari datanya ataupun locasi dimana data tersebut di
simpan.
Ada suatu transparansi yang memperbolehkan pengguna untuk mengetahui
apakah data telah terfragmen dan di simpan suatu di lokasi, nama dari
transparansi ini yaitu : Pemetaan Transparansi Lokasi ( Transparancy Local
Mapping ).
Contoh :
S1 = staffno, position,sex,DOB,salary (STAFF) ditempatkan di site 3
S2 = staffno, fname,lname,branchno,sex,DOB,salary (STAFF)
S21 = Bno = B3 (S2) ditempatkan di site 3
S22 = Bno = B5 (S) ditempatkan di site 5
S23 = Bno = B7 (S) ditempatkan di site 7
Transparansi Fragmentasi
Fragmentasi adalah tingkat tertinggi dari distribusi transparansi yang di sediakan
oleh DDBMS, sehingga pengguna tidak perlu tahu mengenai data yang di
fragmentasikan. Akses basis data berdasarkan pada skema globalnya, sehingga
pengguna tidak perlu menspesifik nama fragmen atau lokasi datanya.
Contoh :
Select fname,lname From Staff
Where position =’Manager’;
Ini adalah statement SQL yang harus di tulis pada sistem tersentralisasi.
Transparansi Lokasi
Transparansi lokasi dalam distribusi transparansi berada pada tingkat
menengah . Dengan transparansi ini , user mengetahui data tersbut di
fragmentasi tidak perlu mengetahui dimana lokasi dari data tersebut.
Contoh :
SELECT fname,lname FROM S21
WHERE Staffno IN (SELECT Staffno FROM S1 WHERE Position=’Manager’)
UNION
SELECT fname,lname FROM S22
WHERE Staffno IN (SELECT Staffno FROM S1 WHERE Position=’Manager’)
UNION
SELECT fname,lname FROM S23
WHERE Staffno IN (SELECT Staffno FROM S1 WHERE Position=’Manager’);
Sekarang di perlukan nama dari fragmen dalam query. Digunakan juga join (
subquery) di karenakan posisi dan fname ataupun lname muncul di beberapa
vertikal fragmentasi yang berbeda. Keuntungan utama dari lokasi transparansi
adalah basis data dapat secara fisik teroragnisasi tanpa harus mempengaruhi
aplikasi yang mengakses basis data tersebut.
Transparansi Replikasi
Sama dengan lokasi transparansi adalah transparansi untuk menggandakan
suatu data , maksudnya pengguna tidak mengetahui data telah di fragmentasi .
Transparansi ini merupakan akibat dari adanya transparansi lokasi.
Bagaimanapun ada kemungkinan untuk tidak memiliki transparansi lokasi tetapi
mempunyai replikasi transparansi.
Transparansi Pemetaan Lokal
Ini adalah tingkatan paling rendah pada distribusi transparansi. Dengan
transparansi ini , pengguna perlu menspesifikasikan nama fragmen dan lokasi
dari data items.
Contoh :
SELECT fname,lname FROM S21 AT SITE 3
WHERE Staffno IN (SELECT Staffno FROM S1 AT SITE 5 WHERE
Position=’Manager’)
UNION
SELECT fname,lname FROM S22 AT SITE 5
WHERE Staffno IN (SELECT Staffno FROM S1 AT SITE 5 WHERE
Position=’Manager’)
UNION
SELECT fname,lname FROM S23 AT SITE 7
WHERE Staffno IN (SELECT Staffno FROM S1 AT SITE 5 WHERE
Position=’Manager’);
Pemberian Nama Transparansi
Setiap item pada basis data yangtelah didistribusikan memiliki nama yang unik.
Oleh karena DDBMS memastikan tidak ada dua site yang membuat obyek basis
data dengan nama yang sama. Satu solusi dari masalah iniadalah dengan
membuat server nama terpusat, dimana alat bantu ini berisi semua nama dari
sistem sehingga jika ada yang sama akan dapat terdeteksi.
Namun masalah ini memiliki kendala yaitu :
Kurangnya kemampuan lokal otonomi
Masalah kinerja, jika terpusat maka akan terjadi bottleneck
Rendahnya ketersediaan, jika site pusat gagal , site yang lain tidak dapat
membuat obyek basis databyang lain.
Ada solusi alternatif yaitu dengan di gunakannya ‘awalan’ suatu obyek sebagai
identifier lokasi yang menciptakan obyek tersebut. Sebagai contoh relasi Branch
di buat pada site S1 sehingga obyek tersebut dapat dinamakan S1.Branch.
Namun jika ingin mengidentifikasi setiap fragment dan setiap salinan fragment
tersebut maka dapat dibuat S1.Branch.F3.C2
Yang mana terdapat 2 salinan dari fragmen 3 pada relasi Branch yang dibuat
pada site S1. Namun hal ini akan mengakibatkan kehilangan data pada
transparansi terdistribusi.
Pendekatan yang lain dengan menggunakan alias ( sinonim ) untuk masing –
masing obyek basis data. Seperti S1.Branch.F3.C2 diketahui sebagai
Localbranch yang digunakan pengguna pada site S1. DDBMS memiliki tugas
untuk memetakan alias mejadi obyek basis data yang sesuai.
Sistem R* yang terdistribusi membedakan antara obyek printname nya dengan
system wide-name nya. Printname adalah nama yang pengguna gunakan yang
mengacu pada suatu obyek. System wide-name adalah identifier internal yang
unik untuk obyek yang dijamin takkan pernah di ganti. System wide-name terdiri
dari 4 bagian yaitu :
1. Creator ID – Lokasi identifier yuang unik untuk pengguna yang menciptakan
obyek
2. Creator site ID – global identifier yang unik untuk site dimana obyek dibuat
3. Local name – nama yang tidak memnuhi persyaratan untuk obyek
4. Birth-site ID – identifier yang unik untuk site dimana obyek disimpan sebagai
contoh, system wide-name :
Manager@London.localbranch@glasgow
Merepresentasikan sebuah obyek dengan local name localBranch, diciptakan
oleh pengguna Manager di London dan disimpan di site di Glasgow.
2. Transparansi Transaksi
Transparansi ini pada lingkungan DDBMS memastikan bahwa semua transaksi
terdistribusi memelihara konsistensi dan integritas basis data terdistribusinya.
Transaksi terdistribusi mengakses data yang disimpan lebih dari satu tempat.
Setiap transaksi di bagi menjadi beberapa subtransaksi , satu untuk mengakses
site yang harus diakses; sebuah subtransaksi di represenstasikan oleh sebuah
agent/perwakilan.
Contoh :
Ada sebuah transaksi T yang mencetak nama dari semua staff, dengan
menggunakan skema fragmentasi yang di definisikan S1,S2,S22,dan S23 .
Substransaksi dapat didefiniskan TS3,TS5, dan TS7 untuk mewakili agen yang
berada di lokasi 3, 5 dan 7. Setiap subtransaksi mencetak nama – nama staff di
setiap lokasi tersebut.
Kesatuan dari transaksi terdistribusi merupakan dasar dari konsep transaksi,
namun DDBMS harus juga menjamin kesatuan dari setiap subtransaksi. Oleh
karena itu tidak hanya harus menjamin sinkronisasi dari subtransaksi dengan
local transaksi lainnya yang di operasionalkan bersamaan di sebuah lokasi. Tapi
juda memastikan sinkronisasi dari subtransaksi – subtransaksi dengan transaksi
global yang berjalan secara serempak di lokasi yangsama maupun di lokasi yang
berbeda. Transparansi transaksi di dalam sebuah DBMS terdistribusi di lengkapi
oleh bagan fragmentasi, bagan pendistribusian dan bagan replikasi.
Transparansi Konkurensi
Transparansi konkurensi dimiliki oleh DDBMS jika hasil dari semua transaksi
konkuren ( didistribusi ataupun yang tidak didistribusi ) di laksanakan secara
independen atau pun dalam satu waktu dan menjamin data yang dihasilkan
konsisten dan terupdate dengan benar, hal ini sesuai dengan prinsip dasar yang
dimiliki oleh basis data tersentralisasi namun ada penambahan dikarenakan
bentuk nya DDBMS maka harus menjamin transaksi lokal ataupun global tidak
bertentangan satu sama lain. Dengan cara yang sama, DDBMS harus
memastikan konsistensi dari semua subtransaksi global.
Replikasi membuat konkurensi menjadi lebih kompleks. Jika salinan dari suatu
replikasi data di perbaharui , update terbaru tersebut harus secepatnya di
sebarkan ke semua salinan yang ada. Strateginya adalah menyebarkan setiap
perubahan data menjadi satu kesatuan operasional data dari sebuah transaksi.
Namun, jika salah satu site yang memegang salinan data tidak dapat dicapai
ketika pengupdate sedang dilakukan , dikarenakan site ataupun hubungan
komunikasinya sedang gagal, maka transaksi di tunda sampai site tersebut
dapat dicapai. Jika terdapat banyak salinan item data, kemungkinan transaksi
konkurensi akan tidak sukses. Alternatif lain untuk membatasi hal tersebut yaitu
dengan melakukan pengupdate data hanya untuk site yang saat itu ada. Strategi
selanjutnya memperbolehkan pengupdate-an terhadap salinan data yang tidak
dilakukan secara bersamaan, terkadang setelah basis data yang aslinya
terupdate. Penundaan untuk mendapatkan kembali konsistensi dari data dapat
terjadi antara beberapa detik sampai dengan beberapa jam.
Transparansi Kegagalan
DBMS tersentralisasi memiliki kemampuan untuk pemulihan data yang
digunakan jika terjadinya kegagalan dalam bertransaksi. Jenis kegagalan yang
dimiliki oleh DBMS tersentralisasi yaitu : sistem crash, kesalahan media,
kesalahan perangkat lunak, bencana alam dan sabotase. Pada DDBMS juga
memiliki jenis – jenis kegagalan yaitu :
Kehilangan data
Kegagalan hubungan komunikasi
Kegagalan pada site
Partisi jaringan
DDBMS harus memastikan kesatuan dari global transaksi, artinya memastikan
subtransaksi pada global transaksi semua berhasil ataupun dibatalkan. Oleh
karena itu DDBMS harus menyamakan transaksi global untuk memastikan
semua subtransaksi telah sukses sebelum dicatat BERHASIL / COMMIT.
Klasifikasi Transaksi
Sebelum menyelesaikan penjelasan mengenai transaksi, akan dijelaskan secara
singkat mengenai klasifikasi transaksi yang telah didefinisikan pada IBM
arsitektur basis data relasional terdistribusi ( DRDA ). Pada arsitektur ini ada
empat tipe transaksi , setiap tingkatan mempunyai penambahan pada
kompleksitasnya di dalam interaksi dengan DBMS
1. Permintaan akses jarak jauh
Aplikasi di satu lokasi dapat mengirimkan permintaan ( perintah (SQL ) ke
beberapa lokasi yang jauh untuk mengeksekusi kiriman data tersebut.
Permintaan di eksekusi secara keseluruhan pada lokasi tersebut dan dapat
menjadi data acuan di lokasi yang jauh tersebut.
2. Satuan kerja jarak jauh ( Remote Unit of Work )
Suatu aplikasi di satu lokasi dapat mengirimkan semua perintah SQL di
dalam satuan unit kerja ( transaksi) ke beberapa lokasi yang jauh untuk
pelaksanaanya. Semua perintah SQL dieksekusi seluruhnya di lokasi
yangjauh dan hanya menjadi data acuan di lokasi tersebut. Namun site lokal
yang memutuskan mana transaksi yang akan di commit dan mana yang akan
di rollback.
3. Satu kerja distribusi
Aplikasi di satulokasi dapat mengirimkan sebagian atau seluruh permintaan (
perintah (SQL ) di dalam suatu transaksi ke satu atau lebih lokasi yang jauh
untuk mengeksekusi kiriman data tersebut. Permintaan di eksekusi secara
keseluruhan pada lokasi tersebut dan dapat menjadi data acuan di lokasi
yang jauh tersebut.
4. Permintaan Terdistribusi
Suatu aplikasi di suatu lokasi dapat mengirimkan sebagian atau seluruh
permintaan ( perintah (SQL ) di dalam suatu transaksi ke satu atau lebih
lokasi yang jauh untuk mengeksekusi kiriman data tersebut. Namun, perintah
SQL membutuhkan akses data dari satu atau lebih lokasi ( perintah SQL
perlu dapat join atau union suatu relasi / fragmen yang berada di lokasi yang
berbeda)
3. TRANSPARANSI KINERJA
Transparansi ini membutuhkan DBMS untuk menjadi seperti DBMS terpusat. Di
dalam lingkungan terdistribusi, suatu sistem tidak harus mengalami penurunan
selama melakukan arsitektur terdistribusi, sebagai contoh munculnya jaringan.
Transparansi ini membutuhkan DBMS untuk membuat strategi agar dapat
menghemat biaya yang dikeluarkan untuk melakukan suatu permintaan.
Didalam suatu DBMS tersentralisasi, query processor ( QP ) harus mengevaluasi
setiap permintaan data dan melaksanakan strategi yang optimal, yang terdiri dari
suatu urutan operasional yang diperintah pada basis data. Didalam suatu
lingkungan terdistribusi Distribusi query prosessor ( DQP ) memetakan suatu
permintaan data ke dalam suatu urutan operasi yang diperintahkan pada basis
data lokal . Hal ini memiliki penambahan kompleksitas untuk mengaksesnya ke
dlaam perhitunganfragmentasi, replikasi dan alokasi skema. DQP harus
memutuskan :
Fragmen mana yang akan diakses
Salinan dari fragmen yang mana yang akan digunakan jika
fragmen akan di replikasi
Lokasi mana yang akan digunakan
DQP membuat suatu strategi pelaksanaan yang optimal dengan menjalankan
beberapa fungsi biaya. Secara umum, biaya – biaya yang berhubungan dengan
suatu permintaan terdistribusi termasuk:
Biaya waktu akses ( I/O) melibatkan pengaksesn dalam data fisik pada
disk
Biaya waktu CPU pada saat melaksanakan operasi – operasi data dalam
memori utama
Biay akomunikasi dengan transmisi data melalui jaringan.
Faktor pertama adalah satu – satunya hal yang dipertimbangkan dalam suatu
sistem tersentralisasi . Pada lingkungan terdistribusi, DDBMS harus menghitung
biaya komunikasi, yang paling dominan dalam WAN dengan suatu bandwitdh
untuuk golongan kecil kilobyte per detik . Pada kasus seperti itu, optimasi
mungkin mengabaikan I/O dan biaya CPU. Namun, LAN mempunyai bandwidth
tidak mungkin mengabaikan I/O dan biaya CPU seluruhnya.
Satu pendekatan untuk optimasi query memperkecil biaya total untuk waktu yang
akan terjadi di dalam pelaksanaan queri ( Sacco dan Yao,1982). Sebagai
pendekatan alternatif ini dapat memperkecil waktu respon queri, di dalam kasus
DQP Terkadang waktu respon akan signifikan menjadi lebih kecil dari biaya
waktu total.
DATES’S 12 ATURAN UNTUK DDBMS
Pada bagian terakhir ini , akan di jelaskan mengenai dua belas atuarn mengenai
DDBMS (Date,1987b). Dasar dari aturan ini adalah bahwa suatu DBMS terdistribusi
harus dapat seperti DBMS non distribusi terhadap pengguna. Aturan ini serupa
dengan dua belas aturan CODD untuk sistem relasional .
Prinsip dasar : Suatu sistem DDBMS harus terlihat seperti DBMS non distribusi
untuk penggunanya.
1. Otonomi Lokal
Tempat dalam sistemterdistribusi sudah harus otonom. Otonomi berarti :
a. Data lokal adalah miliki DBMS lokal dan di atur sendiri oleh DBMS Lokal
b. Operasi lokal tetap merupakan lokal operasional
c. Semua operasi yang telah diberikan dikontrol oleh DBMS Lokal
2. Tidak adanya campur tangan site pusat
Semua proses pelayanan, manajemen transaksi , pendekteksian deadlock ,
optimasi queri dan manajemen dari sistem katalog adalah tanggung jawab dari
lokal DBMS, dan pusat tidak memiliki wewenang untuk melakukan hal tersebut.
3. Operasi yang berkelanjutan
Fungsi dari DDBMS yaitu adanya perkembangan modular dimana jika terjadi
suatu ekspansi jaringan maka proses pembuatan infrastruktur tidak akan
mengganggu jalannya operasional suatu data.
4. Lokasi yang mandiri
Kebebasan lokasi sama dengan transparansi lokasi , pengguna bisa mengakses
basis data dari banyak tempat. Dalam pengaksesan data tersebut semua data
seolah –olah disimpan dekat dengan lokasi pengguna, bukan menjadi masalah
tempat dimana data disimpan secara fisik.
5. Kebebasan Fragmentasi
Pengguna dapat mengakses basis data tanpa harus mengetahui bagaimana
data tersebut di fragmen.
6. Kebebasan replikasi
Pengguna tidak harus mengetahui apakah data telah direplikasi atau tidak dan
tidak harus mengakses suatu salinan tertentu dari item data secara langsung ,
juga pada saat pengguna melakukan pembaharuan data haruslah detail untuk
semua data.
7. Pemrosesan query terdistribusi
Sistem harus dapat menangani pemrosesan queri yang mereferensi ke suatu
data di sejumlah site yang terhubung.
8. Pemrosesan transaksi terdistribusi
Sistem harus mendukung sebuah transaksi sebagai sebuah unit dari suatu
pemulihan data ( recovery) . Dan menjamin bahwa global ataupun lokal
transparansi harus sesuai dengan aturan ACID untuk transaksi, contohnya :
penamaan, konsistensi, isolasi dan ketahanan ( Automicity,Consistent, Isolation,
Defence).
9. Kebebasan perangkat keras
DDBMS harus dapat digunakan di berbagai macam platform perangkat keras.
10.Kebebasan sistem operasi
Sesuai dengan aturan sebelumnya , maka DDBMS juga harus dapat digunakan
di berbagai macam platform system operasi.
11. Kebebasan jaringan
Sama halnya dengan aturan sebelumnya , DDBMS harus dapat digunakan di
berbagai macam platform jaringan komunikasi yang berbeda.
12. Kebebasan database
DDBMS di bentuk dari local DBMS yang berbeda, yang memungkinkan adanya
model data yang berbeda. Dengan kata lain DDBMS harus dapat mendukung
adanya system heterogen.
Keempat aturan terakhir haruslah dimiliki oleh DDBMS. Selebihnya adalah aturan
yang umum dan jika ada kelemahan dari standard komputer dan arsitektur
jaringannya, sistem hanya dapat mengharapkan dari vendor untuk pemenuhan di
masa depan.
Sumber :
Modul Perkuliahan - Data Warehouse dan Data Mining - Program Studi Sistem Informasi - Fakultas Ilmu Komputer - Universitas Mercu Buana