Artikel Database
Terdistribusi
Terdapat dua strategi utama dalam mendesain
database terdistribusi yaitu pendekatan top-down dan pendekatan bottom-up,
namun pendekatan bottom up baru dapat dilakukan jika sudah ada database yang
tersebar di beberapa lokasi.
Dalam “Distrubution Design” dilakukan desain untuk
mendistribusikan relasi ke semua lokasi dalam sistem terdistribusi. Kelemahan
mendistribusikan sebuah relasi adalah harus menangani data yang besar, maka
relasi dipecah-pecah menjadi sub relasi yang disebut fragmen. Desain untuk
sistem terdistribusi dapat melalui langkah fragmentasi, penempatan data atau
alokasi dan replikasi.
Distribusi
data dengan cara fragmentasi, alokasi dan replikasi mempunyai tujuan :
1.
Referensi lokalitas. Data harus diletakkan sedekat mungkin dengan lokasi
pengakses data. Jika fragmen data digunakan pada beberapa lokasi maka akan
lebih menguntungkan jika fragmen disimpan pada lokasi-lokasi tersebut.
2. Meningkatkan reliabitilas/kehandalan dan availabilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi : yaitu terdapat salinan data di lokasi lain jika salah satu lokasi mengalami kegagalan data.
3. Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan akan menghasilkan kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga menurunkan unjuk kerja.
4. Keseimbangan kapasitas penyimpanan dan biaya. Meskipun harus menjamin ketersediaan data, dan mempertimbangkan referensi lokalitas tetapi harus dipertimbangkan juga kapasitas penyimpanan yang tidak besar sehingga menjamin biaya penyimpanan lebih murah.
2. Meningkatkan reliabitilas/kehandalan dan availabilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi : yaitu terdapat salinan data di lokasi lain jika salah satu lokasi mengalami kegagalan data.
3. Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan akan menghasilkan kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga menurunkan unjuk kerja.
4. Keseimbangan kapasitas penyimpanan dan biaya. Meskipun harus menjamin ketersediaan data, dan mempertimbangkan referensi lokalitas tetapi harus dipertimbangkan juga kapasitas penyimpanan yang tidak besar sehingga menjamin biaya penyimpanan lebih murah.
Biaya
komunikasi minimal. Harus dipertimbangkan biaya komunikasi anta lokasi
penyimpanan. Biaya pengambilan data minimal jika lokalitas maksimum (fragmen
data ada di banyak lokasi). Tetapi jika terjadi update, maka harus dilakukan
terhadap data di semua lokasi salinan fragmen data, sehingga biaya akan
membengkak.
Fragmentasi
Alasan
yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data untuk
didistribusikan yaitu :
1.
Penggunaan. Dalam kenyataan, data yang sering digunakan bukanlah data dalam
seluruh tabel, tetapi hanyalah sebagian data atau sering disebut view
2. Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna yang sering mengakses sehingga data yang tidak sering dibutuhkan oleh lokasi tertentu tidak akan disimpan di lokasi yang bersangkutan
3. Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi yang berupa query tunggal dapat dipecah menjadi subquery yang dikenakan terhadap fragmen data, sehingga transaksi dapat dilakukan secara bersamaan (concurrent).
4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak akan disimpan dalam lokasi tersebut, sehingga user yang tidak memiliki hak untuk mengakses tidak akan bisa mengakses data lain.
2. Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna yang sering mengakses sehingga data yang tidak sering dibutuhkan oleh lokasi tertentu tidak akan disimpan di lokasi yang bersangkutan
3. Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi yang berupa query tunggal dapat dipecah menjadi subquery yang dikenakan terhadap fragmen data, sehingga transaksi dapat dilakukan secara bersamaan (concurrent).
4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak akan disimpan dalam lokasi tersebut, sehingga user yang tidak memiliki hak untuk mengakses tidak akan bisa mengakses data lain.
Fragmentasi
juga memiliki beberapa kelemahan yaitu :
1.
Menurunnya unjuk kerja. View yang melibatkan lebih dari satu fragmen data pada
lokasi yang berbeda akan mengalami penurunan unjuk kerja
2. Integritas. Pengendalian integritas lebih sulit jika atribut yang berperan dalam dependency didistribusikan ke beberapa lokasi.
2. Integritas. Pengendalian integritas lebih sulit jika atribut yang berperan dalam dependency didistribusikan ke beberapa lokasi.
Terdapat
dua fragmentasi data yaitu :
Fragmentasi
Horizontal
Terdapat
syarat informasi untuk fragmentasi horizontal, yaitu :
Application
Information Informasi kualitatif dari aplikasi paling mendasar adalah predicate
yang digunakan dalam query. Dari predicate dapat dibentuk :
Fragmentasi
Vertikal
Fragmentasi
vertical dari tabel R adalah proses untuk mendapatkan fragmen R1, R2, …, Rn
sedemikian rupa sehingga setiap fragmen memuat himpunan bagian dari
atribut-atribut R dan kunci primer. Fragmentasi ini lebih sulit dibandingkan
dengan fragmentasi horizontal, karena lebih banyak alternative hasil yang
dimuat.
Tujuan
utama fragmentasi vertical adalah membagi sebuah tabel ke dalam tabel-tabel yang
lebih kecil sedemikian rupa sehingga user aplikasi hanya berjalan dalam satu
tabel. Dengan demikian akan meminimalkan waktu eksekusi aplikasi yang berjalan
dalam fragmen-fragmen tersebut.
Terdapat
dua pendekatan, yaitu :
1.
Pendekatan kelompok (Grouping)
Dimulai
dengan menempatkan setiap atribut ke dalam sebuah fragmen. Kemudian setahap
demi setahap dilakukan terhadap fragmen yang lain sampai kriteria yang
diinginkan terpenuhi.
2.
Pendekatan pemecahan (Splitting)
Dimulai
dengan sebuah tabel kemudian proses pembagiannya dilakukan berdasarkan pada
pola akses aplikasi terhadap setiap atribut.
Dengan
alasan kemudahan untuk menjalankan dependensi fungsional sehingga menjamin
keutuhan dalam koreksi data, maka pendekatan yang akan dipakai adalah
pendekatan Splitting.
A. Pengertian Database terdistribusi
Database terdistribusi Yaitu kumpulan data yang
digunakan bersama yang saling terhubung secara logic tetapi tersebar secara
fisik pada suatu jaringan computer. Dalam sebuah database terdistribusi,
database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem
terdistribusi berhubungan satu sama lain melalui bermacam-macam media
komunikasi seperti high-speed buses atau telephone line.
Sebuah sistem database terdistribusi berisikan
sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam
pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau
beberapa site. Tiap-tiap site dapat memproses transaksi lokal yaitu sebuah
transaksi yang mengakses data pada satu site di mana transaksi telah
ditentukan. Sebuah site juga dapat mengambil bagian dalam mengeksekusi
transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di
mana transaksi telah ditentukan, atau transaksi yang mengakses data pada
beberapa site yang berbeda.
Ada 2 aspek penting dari Database Terdistribusi
- Distribusi : data tidak disimpan pada tempat (prosesor) yang sama,sehingga DDB dapat dibedakan dari database tunggal, sentralisasi.
- Korelasi logika : data memiliki property yang berhubungan sehingga DDB dapat dibedakan dari sekumpulan database lokal atau file yang disimpan pada tempat yang berbeda pada jaringan komputer.
B. Definisi Karakteristik Database Terdistribusi
- Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah komputer yang berbeda.
- Komputer yang dihubungkan menggunakan jaringan komunikasi.
- Data pada masing-masing situs dapat menangani aplikasi-aplikasi lokal secara otonom.
- Data pada masing-masing situs di bawah kendali satu DBMS.
- Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global.
- 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.
- Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.
C. Desain Database Terdistribusi
Ada
beberapa pendekatan yang berkaitan dengan penyimpanan data/tabel dalam sebuah
sistem basis data terdistribusi, yaitu :
1. Replikasi
- Sistem memelihara sejumlah salinan/duplikat tabel-tabel data.
- Setiap salinan tersimpan dalam simpul yang berbeda, yang menghasilkan replikasi data.
2. Fragmentasi
- Data dalam tabel dipilah dan disebar ke dalam sejumlah fragmen.
- Tiap fragmen disimpan di sejumlah simpul yang berbeda-beda.\Fragmentasi dapat berbentuk fragmentasi horizontal (pemilahan record data) atau fragmentasi vertikal (pemilahan field/atribut data).
3. Replikasi dan Fragmentasi
- Merupakan kombinasi dari replikasi dan fragmentasi.
- Data/tabel dipilah dalam sejumlah fragmen.
- Sistem lalu mengelola sejumlah salinan dari masing-masing fragmen tadi di sejumlah simpul.
D. Arsitektur Database Terdistribusi
Terdapat
tiga pendekatan alternatif untuk membagi fungsi pada proses DBMS yang berbeda.
Dua arsitektur alternatif DBMS terdistribusi adalah Client Server dan Collaboration
Server.
1. Client-Server
Sistem
client-server mempunyai satu atau lebih proses client dan satu atau lebih
proses server, dan sebuah proses client dapat mengirim query ke sembarang
proses server. Client bertanggung jawab pada antar muka untuk user, sedangkan
server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client
berjalan pada sebuah personal komputer dan mengirim query ke sebuah server yang
berjalan pada mainframe.
Arsitektur
ini menjadi sangat popular untuk beberapa alasan.Pertama, implementasi yang
relatif sederhana karena pembagian fungis yang baik dan karena server
tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh
pada interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai
dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah,
dibandingkan antar muka pada server yang tidak user-friendly.
2. Collaboration Server
Arsitektur
client-server tidak mengijinkan satu query mengakses banyak server karena
proses client harus dapat membagi sebuah query ke dalam beberapa subquery untuk
dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery.
Proses client cukup komplek dan terjadi overlap dengan server, sehingga
perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan
diguankan alternatif arsitektur client-server yaitu sistem Collaboration
Server.
Pada
sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi
data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server. Jika
server menerima query yang membutuhkan akses ke data pada server lain, sistem
membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya
bersama-sama untuk menggabungkan jawaban menjadi query asal.
E. Kelebihan dan Kekurangan Database Terdistribusi
1. Kelebihan
- Kinerja yang lebih baik karena data ditempatkan di tempat yang sesuai dengan kebutuhan dan komputer-komputer dalam sistem dapat bekerja secara paralel, sehingga pembebanan pada komputer (server) menjadi seimbang.
- Alasan ekonomis, yaitu bahwa merancang sistem yang terdiri atas jaringan komputer-komputer kecil (sederhana) dibandingkan dengan mengimplementasikan komputer tunggal yang canggih.
- Alasan modularitas, yaitu bahwa sistem-sistem yang bekerja dalam basis data terdistribusi dapat dimodifikasi, ditambah, atau dikurangi tanpa memengaruhi modul lain (sistem lain dalam basis data terdistribusi). Dengan pembagian lokasi data, jika terjadi masalah atau musibah pada sistem, tidak semua data terancam, melainkan hanya data pada tempat-tempat tertentu.
- Alasan organisasi dan otonomi pada sistem-sistem yang berpartisipasi, misalnya pada suatu kantor perusahaan, terdapat beberapa departemen. Dengan basis data terdistribusi, data-data perusahaan dapat disebar ke tiap-tiap departemen yang bertanggung jawab atasnya.
2. Kekurangan
- Masalah kompleksitas, yaitu bukan pekerjaan yang mudah untuk membuat basis data yang tersebar terlihat sebagai satu kesatuan. Administrator basis data mempunyai tugas ekstra untuk menjaga agar basis data yang tersebar di berbagai lokasi terlihat transparan. Tingginya kompleksitas juga dapat menyebabkan pembengkakan biaya.
- Masalah desain, yaitu bahwa desain yang dibuat harus memperhatikan arsitektur komputer yang terdiri atas sistem-sistem yang terpisah, selain itu juga memperhatikan data yang difragmentasi (dipecah-pecah) ke dalam lokasi berlainan.
- Keamanan data, yaitu bukan hanya satu sistem yang harus diberi proteksi keamanan data, melainkan juga fragmen-fragmennya yang tersebar di berbagai lokasi, juga jalur komunikasi antarsistem.
- Kendala mempertahankan integritas karena dalam menjaga integritas sistem melalui jaringan juga dapat memakan resource yang besar dari jaringan.
F. Ciri-ciri Database Terdistribusi
- Data disimpan di sejumlah tempat.
- Prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer.
- Setiap tempat secara mandiri memproses permintaan user yang membutuhkan akses ke data di tempat tersebut dan juga mampu untuk memproses data yang tersimpan di tempat lain.
G. Contoh Database Terdistribusi Dengan Oracle
Basis
data terdistribusi dapat diimplementasikan dengan berbasiskan sistem Oracle.
Dalam implementasinya, sistem basis data terdistribusi dengan Oracle dapat
digolongkan menjadi dua, yaitu :
- Sistem
basis data terdistribusi homogen : seluruh sistem menggunakan
basis data Oracle yang bertempat di satu atau beberapa mesin Oracle yang
digunakan boleh jadi berbeda versi, tetapi aplikasi harus dapat memahami
perbedaan fungsionalitas yang ada di setiap simpul (basis data) sistem.

- Sistem basis data terdistribusi heterogen : sedikitnya satu sistem bagian tidak menggunakan basis data Oracle; agar dapat saling berkomunikasi, perbedaan ini dapat dijembatani dengan menerapkan salah satu dari berikut:
- Oracle Transparent Gateway yang menggunakan layanan heterogen pada server Oracle (Oracle Heterogenous Services) dan agen yang spesifik terhadap sistem pada sistem non-Oracle
- konektivitas generik (generic connectivity), yang dapat diimplementasikan di server Oracle dan berupa Heterogenous Services ODBC agent atau Heterogenous OLE DB agent; dengan mengimplementasikannya, tidak diperlukan lagi aplikasi agen yang spesifik-sistem, tetapi sumber data harus kompatibel dengan ODBC atau OLE DB agar dapat diakses.
DAFTAR PUSTAKA
2.
http://nurcholis.student.umm.ac.id/pengantar-database-terdistribusi/
3.
http://alanrk89.blogspot.com/makalah-database-terdistribusi.html
4.
http://otrimatu.wordpress.com/definisi-database-terdistribusi/
Pengertian Sistem
Terdistribusi
Sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling
berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang
bervariasi, yaitu melalui Local Area Network ataupun melalui Wide Area Network
dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas
komputer terintegrasi.
Proses dalam sistem terdistribusi dijalankan secara bersamaan (execute
concurrently) dimana proses berinteraksi untuk bekerjasama dalam mencapai
tujuan yang sama dan mengkoordinasikan aktifitas dan pertukaran informasi yaitu
pesan yang dikirim melalui jaringan komunikasi.
Struktur
sistem terdistribusi dapat dilihat dari gambar dibawah ini :
B. Karakteristik Sistem Terdistribusi
Ada tiga karakteristik sistem terdistribusi antara lain sebagai berikut:1. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan
2. No global clock
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
3. Independent failures of components
Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
C. Tujuam Sistem Terdistribusi
Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai, diantaranya :- Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem.
- Peningkatan kecepatan komputasi.
- meningkatkan availibilitas atau ketersediaan dan reliabilitas data.
Dalam penggunaanya sistem terdistribusi sangat diperlukan karena:
1. Performance : Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
2. Distribution : Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial)
3. Reliability : Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan
4. Incremental Growth : Mesin baru dapat ditambahkan jika kebutuhan proses meningkat
5. Sharing Data/Resource :
- Segala hal yang dapat digunakan bersama dalam jaringan komputer.
- Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
D. Model Sistem Terdistribusi
Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model), yaitu :
1. Sistem client - server
Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan: file server, time server, directory server, printer server, dan seterusnya.

2. Sistem point to point
Merupakan bagian dari model sistem terdistribusi dimana system dapat sekaligus berfungsi sebagai client maupun server.
3. Sistem terkluster
Adalah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih handal dan fault tolerant dalam melakukan komputasi.
E. Alasan Membangun Sistem Terdistribusi
Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:1. Resource Sharing
Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A
2. Computation Speedup
Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup)
3. Reliability
Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik
4. Communication
Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.
Selain itu ada beberapa alasan lain membangun sistem terdistribusi, yakni :
· Distribusi fungsi : Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server, Host/terminal, Data gathering / data processing)
· Distribusi beban/keseimbangan : Pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi
· Replika Kekuatan : Kumpulan PC memiliki kekuatan yang lebih besar dari super komputer
· Pemisahan Fisik : Untuk kehandalan atau redundansi sistem
· Ekonomis : Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan mainframe.
F. Permasalahan Sistem Terdistribusi
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain berkaitan dengan :
- Software - bagaimana merancang dan mengatur software dalam Distribusi Sistem
- Ketergantungan pada infrastruktur jaringan
- Kemudahan akses ke data yang di share, memunculkan masalah keamanan
G. Contoh dari sistem terdistribusi
1. Internet
Merupakan suatu bentuk jaringan global yang menghubungkan komputer denga satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol.

2. Intranet
- Jaringan yang teradministrasi secara lokal
- Biasanya proprietary
- Terhubung ke internet (melalui firewall)
- Menyediakan layanan internal dan eksternal

3. Mobile dan sistem komputasi ubiquitous
- Sistem telepon Cellular (e.g., GSM) Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
- Komputer laptop, ubiquitous computing
- Handheld devices, PDA, etc

5. World wide web
- Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
- Shared resources (melalui URL)

Diposkan oleh Rahmat Taufik
ini hanya rangkuman dari internet yang saya baca saja dan bukan tulisan saya










