BASIS DATA TERDISTRIBUSI(DISTRIBUTE D DATABASE) SISTEM TERDISTRIBUSI (TIK 133)
Oleh
[1102639] SARI RAHMADINA ANORI [1102640] YENI SEPTIANA [1102660] KHILDA RAHMI ZAKI
GROUP 3F1,2 KODE SEKSI 28417
PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER FAKULTAS TEKNIK UNIVERSITAS NEGERI PADANG
2013
BASIS DATA TERDISTRIBUSI (DISTRIBUTED DATABASE)
A. PENGERTIAN BASIS DATA TERDISTRIBUSI
Basis data adalah suatu susunan atau kumpulan data operasional lengkap dari suatu organisasi atau perusahaan yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu dengan menggunakan komputer, sehingga mampu memberikan informasi yang optimal kepada pemakainya. Basis Data Terdistribusi adalah kumpulan data logic yang saling berhubungan secara fisik terdistribusi dalam jaringan komputer, yang tidak tergantung dari program aplikasi sekarang maupun masa yang akan datang. Misalnya sebuah bank yang memiliki banyak cabang, bahkan di sebuah kota bisa terdiri dari beberapa cabang/kantor. Masing-masing lokasi memiliki jaringan lokal sendiri, dan semua jaringan lokal itu dihubungkan satu sama lain membentuk sebuah jaringan nasional. Basis data terdistribusi (distributed database) adalah suatu basis data yang berada di bawah kendali sistem manajemen basis data (DBMS) terpusat dengan peranti penyimpanan (storage devices) yang terpisah-pisah satu dari yang lainnya. Tempat penyimpanan ini dapat dapat berada di satu lokasi yang secara fisik berdekatan (misal: dalam satu bangunan) atau terpisah oleh jarak yang jauh dan terhubung melalui jaringan internet. Penggunaan basis data terdistribusi dapat dilakukan di server internet, intranet atau ekstranet kantor, atau di jaringan perusahaan. Basis data terdistribusi pada dasarnya adalah bagian dari sistem komputer terdistribusi, atau disebut juga distributed computing. Distributed computing sendiri adalah sistem yang dapat membuat komputer-komputer yang berbeda dan bekerja secara bersamaan dapat saling bertukar informasi dalam satu kesatuan sistem. Dengan basis data terdistribusi, operasi basis data dapat dikendalikan dari satu mesin (komputer) dan dijalankan pada mesin-mesin yang lain. Pengguna atau disebut (user) dalam sebuah basis data terdistribusi bisa mengakses basis data melalui dua jenis transaksi yaitu : • •
Transaksi lokal adalah transaksi yang tidak memerlukan data dari tempat lain Transaksi global adalah transaksi dengan kebutuhan akan data dari tempat lain
B. KARAKTERISTIK BASIS DATA TERDISTRIBUSI
Ada beberapa ciri-ciri utama pada basis data terdistribusi yaitu: Data disimpan di sejumlah tempat Prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada berbagai tempat tetapi pada sebuah basis data di berbagai tempat.
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.
C. KELEBIHAN DAN KEKURANGAN BASIS DATA TERDISTRIBUSI
Pemanfaatan basis data terdistribusi dapat memberikan manfaat bagi sistem yang mengimplementasikannya. Hal ini disebabkan oleh kelebihan-kelebihan yang dimilikinya, antara lain Kinerja 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 Alasan ekonomis, yaitu bahwa merancang sistem yang terdiri atas jaringan komputerkomputer kecil (sederhana) lebih ekonomis 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 tempattempat 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. Akan tetapi, di samping kelebihan-kelebihan yang dimilikinya, basis data terdistribusi juga memiliki kendala, antara lain:
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. Di samping itu, pemeliharaan sistem-sistem yang berlainan lebih kompleks ketimbang pemeliharaan sistem besar yang utuh sebagai satu kesatuan. 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. Perubahan dari basis data terpusat menjadi terdistribusi juga menjadi masalah karena belum ada standar metodologi dalam konversi DBMS terpusat menjadi DBMS terdistribusi. 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 besar dari jaringan.
D. TIPE BASIS DATA TERDISTRIBUSI 1. HOMOGEN
Dalam sistem yang homogen, semua site menggunakan product DBMS ( Data Base Management System) yang sama. Sistem homogen lebih mudah di rancang dan di atur. Pendekatan ini memberikan perkembangan yang baik, yaitu tidak mengalami kesulitan dalam membuat sebuah site baru pada DDBMS. Misalnya: Misalnya: 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
2. HETEROGEN
Sistem basis data heterogen yaitu sistem dimana setiap tempat yang berbeda menjalankan DBMS yang berbeda, baik Relational DBMS (RDBMS) atau non relational DBMS. Misalnya: Misalnya: Dalam basis data terdistribusi terdistribusi sedikitnya sedikitnya satu sistem sistem bagian tidak menggunakan basis data Oracle. Agar dapat saling berkomunikasi, perbedaan ini dapat dijembatani dengan menerapkan Oracle Transparent Gateway yang menggunakan layanan heterogen pada server Oracle (Oracle Heterogenous Services) dan agen yang spesifik terhadap sistem pada sistem non-Oracle.
E. TOPOLOGI BASIS DATA TERDISTRIBUSI
Site-site dalam database terdistribusi dihubungkan secara fisik dengan berbagai cara. Beberapa topologi digambarkan sebagai sebuah graph yang simpulsimpulnya bersesuaian dengan site. Sebuah edge dari simpul A ke simpul B bersesuaian dengan sebuah hubungan langsung antara dua site. Beberapa konfigurasi (bentuk) digambarkan sebagai berikut: •
Fully Connected Network Keuntungan : Jika salah satu simpul rusak maka yang lainnya masih bisa berjalan Kerugian : Control management tidak terjamin.
•
Partially Connected Network Keuntungan : Reliability rendah Kerugian : Control management tidak terjamin
•
Tree Structure Network Keuntungan : Bersifat sentral setiap proses dimulai dari bawah dan Control management lebih terjamin Kerugian : Jika simpul rusak maka semua akan rusak.
•
Ring Network (LAN) Keuntungan : Jika salah satu simpul rusak maka yang lainya masih tetap berjalan. Kerugian : Control management kurang terjamin karena bersifat desentralisasi
•
Star Network (LAN)
Keuntungan Kerugian
:Control management lebih terjamin, karena bersifat sentral : Jika simpul rusak maka yang lainya juga akan rusak.
Perbedaan utama di antara berbagai topologi di atas terletak pada: • • • •
F.
Biaya Instalasi : Biaya dalam membangun hubungan antar simpul. Biaya Komunikasi : Biaya dalam pengoperasian sistem berupa pengiriman data dari satu simpul ke simpula lain Kehandalan : Frekuensi kegagalan komunikasi yang terjadi. Ketersediaan : Frekuensi kesiapan data yang dapat diakses sebagai antisipasi kegagalan komunikasi.
TRANSPARANSI DALAM BASIS DATA TERDISTRIBUSI
Tujuan utama dari database terdistribusi menyediakan kemudahan untuk mengakses data bagi user pada banyak lokasi yang berjauhan. Untuk mencapai tujuan ini system dari database terdistribusi harus menyediakan menyediakan apa yang disebut transparency yang artinya seorang user dalam mengakses data tidak akan terbatas pada tempat, di manapun dia berada user dapat mengakases data. Semua transparansi berpartisipasi di semua obyek, agar dapat membuat basis data terdistribusi ini dapat sejalan dengan basis data tersentralisasi . Ada beberapa macam dari transparansi dalam basis data yaitu; yaitu; 1. Kebebasan Data Terdistribusi Pemakai tidak perlu mengetahui dimana data berada.
Kebebasan data secara logic, yaitu kekebalan aplikasi user untuk mengubah struktur logika database.
Kebebasan data secara fisik, yaitu berhubungan dengan penyembunyian rincian struktur penyimpanan dari aplikasi user. 2. Transparansi Jaringan Pemakai dapat menulis transaksi yang mengakses dan mengubah data pada beberapa tempat seperti mengakses transaksi local. 3. Transparansi lokasi, merupakan transparansi terhadap perintah yang bebas digunakan pada lokasi data maupun pada sistem dimana operasi berjalan. 4. Transparansi penamaan, berarti nama yang unik diberikan ke setiap objek database.
G. DESAIN BASIS DATA TERDISTRIBUSI
Seperti halnya proses perancangan sistem lainnya, perancangan basis data terdistribusi juga memerlukan serangkaian proses analisis dan desain. Termasuk di dalam proses ini adalah analisis kebutuhan beserta proses-proses perancangan, yakni desain secara konseptual bersama
dengan desain tampilan (view) informasi; desain distribusi yang melibatkan pengaturan pembagian data; kemudian desain fisik Ada beberapa pendekatan yang berkaitan dengan perancangan dalam sebuah sistem basis data terdistribusi, yaitu; 1. FRAGMENTASI
Dalam basis data terdistribusi, fragmentasi dilakukan pada relasi-relasi yang ada pada basis data. Fragmentasi membagi suatu relasi yang ada menjadi sejumlah fragmen atau pecahan relasi yang tetap mempertahankan keutuhan informasi semula. Kelebihan dari fragmentasi, yang menjadi alasan dilakukannya adalah dimungkinkannya pemrosesan data secara paralel dan penempatan tupel relasi, yang berisi sejumlah informasi, pada tempat yang tepat, yaitu yang paling membutuhkannya. Fragmentasi sendiri terbagi atas empat jenis, yaitu: • Primary horizontal sebuah relasi R(A1, …, An) difragmentasi berdasarkan himpunan predikat-predikat relasi PR = {p1, …, pn}. Tiap -tiap predikat merupakan perbandingan yang digunakan dalam aljabar relasional, yang dapat melibatkan operator perbandingan =, ?, <, atau >. • Derived horizontal pembuatan partisi suatu relasi R berdasarkan partisi yang dibuat pada relasi lain, misalkan S. Satu atau beberapa atribut di R mengacu kepada primary key pada S. • Vertical fragmentasi ini dilakukan dengan memisah-misahkan atribut-atribut dari skema relasi R ke dalam skema-skema Ri. Setiap fragmen relasi harus memiliki primary key relasi asli. • Hybrid fragmentasi yang mempunyai pola campuran dari ketiga relasi di atas Ilustrasi Fragmentasi
Misalkan ada dua relasi sebagai berikut: PEGAWAI(NoPeg, NamaPeg, Posisi, Gaji, NoDep) DEPT(NoDep, NamaDep, Lokasi) Contoh fragmentasi untuk tiga jenis fragmentasi yang telah disebutkan di atas adalah sebagai berikut:
dalam fragmentasi primary horizontal , dimisalkan ada himpunan predikat yang diakses oleh aplikasi yang berbeda. Satu aplikasi memperoleh informasi pegawai dengan posisi DBAdmin, sementara aplikasi lainnya memperoleh informasi pegawai dengan gaji lebih besar dari Rp 15 juta. Predikat sederhana dapat dinyatakan dalam himpunan sbb: . Selanjutnya, predikat-predikat dapat dinyatakan ke dalam himpunan dari minterm, yaitu . Selanjutnya, predikat-predikat dapat dinyatakan ke dalam himpunan dari minterm, yaitu sebagai berikut m1 = Posisi = ‘DBAdmin’ ^ Gaji > 150 00000 o m2 = Posisi ? ‘DBAdmin’ ^ Gaji > 15000000 o m3 = Posisi = ‘DBAdmin’ ^ Gaji = 15000000 o
m4 = Posisi ? ‘DBAdmin’ ^ Gaji = 15000000 dalam fragmentasi derived horizontal , misalkan DEPT dipartisi berdasarkan predikat Lokasi = ‘Bandung’, sehingga ada dua part isi o
DEPT1 = sLokasi = ‘Bandung’(DEPT) DEPT2 = sLokasi ? ‘Bandung’(DEPT) sementara, itu PEGAWAI dipartisi berdasarkan partisi DEPT sebagai berikut: PEGAWAIi PEGAWAI left outer join DEPTi
dalam fragmentasi vertical , relasi PEGAWAI(NoPeg, NamaPeg, Posisi, Gaji, NoDep) difragmentasi ke dalam fragmen relasi PEGAWAI1(NoPeg, NamaPeg, Gaji) dan PEGAWAI2(NoPeg, Posisi, NoDep).
Fragmentasi dikatakan tepat apabila memenuhi syarat-syarat berikut: o
o
o
kelengkapan : dekomposisi relasi R ke dalam fragmen-fragmen R 1, …, Rn dikatakan lengkap jika setiap tupel R dapat ditemukan dalam fragmen R i mana pun. rekonstruksi : jika relasi R terdekomposisi ke dalam fragmen-fragmen R 1, …, Rn,
terdapat operator relasional sedemikian sehingga . disjoint : jika sebuah relasi R dipartisi, sebuah tupel dalam R, jika ditemukan dalam fragmen Ri, tidak akan ditemukan dalam fragmen R j dengan i ? j.
2. REPLIKASI
Sistem basis data terdistribusi dapat menyimpan duplikat dari data yang sama dalam site yang berbeda agar perolehan informasi yang semakin cepat dan toleransi kesalahan. Proses ini disebut replikasi. Replikasi pada relasi bersifat redundan pada dua atau lebih situs. Replikasi pada relasi disebut replikasi penuh bila relasi tersebut disimpan pada semua situs. Basis data disebut redundan penuh jika tiap-tiap site mengandung duplikat dari keseluruhan basis data. Replikasi dilakukan karena memiliki kelebihan sebagai berikut:
jika situs asli yang menyimpan relasi R mengalami kegagalan, relasi R tetap dapat diakses melalui replikanya query pada relasi R dapat berjalan secara paralel di simpul (situs) yang berbeda lebih sedikit transfer data, yaitu tidak perlu lagi mengambil data suatu relasi melalui jaringan karena sudah ada replika dalam situs lokal. Namun, proses replikasi juga memiliki kelemahan, antara l ain;
proses update yang lebih rumit karena setiap replika relasi R harus di-update. kendali atas konkurensi yang lebih rumit karena update terhadap replika secara konkuren dapat menyebabkan basis data menjadi tidak konsisten sehingga diperlukan mekanisme khusus dalam penanganan konkurensi.
Dalam melakukan replikasi, ada dua strategi, yaitu a. Sinkron
Sebelum seluruh proses transaksi update dinyatakan selesai, data yang telah dimodifikasi disinkronkan ke setiap duplikatnya; proses ini harus menunggu hingga data di tempat penyimpanan duplikat selesai ditulis sebelum dilakukan perubahan lainnya sehingga menjadi lebih kompleks Terdapat dua teknik dasar untuk menjamin transaksi terlihat nilai yang samadengan copy, yaitu : Voting Transaksi harus menulis mayoritas copy untuk memodifikasi sebuahobyek, harus membaca cukup copy untuk meyakinkan bahwa terlihat setidaknyasatu setidaknyasatu dari copy saat itu. Misalnya terdapat 10 copy, 7 penulisan untuk perubahandan 4 copy untuk pembacaan. Setiap copy mempunyai nomor versi. Teknik inibiasanya tidak atraktif karena pembacaan adalah hal yang biasa. Read-any Write-all Penulisan lebih lambah dan pembacaan lebih cepat daripada teknik Voting.Teknik ini banyak digunakan pada synchronousreplication Pemilihan teknik synchronous replication akan menentukan tempat mana yang terkunciuntuk seting. b. Asinkron Copy data diperbaharui secara periodik berdasarkan data utama yang diperbaharui; proses penulisan data selesai tanpa perlu menunggu penulisan data di tempat penyimpanan duplikat selesai; proses ini memang meningkatkan kinerja sistem namun risikonya, inkonsistensi data bisa terjadi. Teknik asynchronous replication menggunakan dua pendekatan, yaitu Primary Site dan Peer to Peer replication. Perbedaan kedua teknik ini terletak pada berapabanyak copy yang dapat diubah atau copy master. Peer to Peer replication. Lebih dari satu copy dari suatu obyek dapat menjadi sebuah master. Perubahan kecopy master harus dipropaganda ke copy lain dengan cara yang berlainan. Jika duacopy master diubah dan terjadi suatu konflik, konflik harus dipecahkan (misalnyaTempat 1 : umur Joe mengubah 35, Tempat 2 : mengubah 36. Teknik ini bagusdigunakan bagusdigunakan jika konflik tidak terjadi, misalnya setiap tempat master memilikifragmen disjoin dan yang memiliki hak pengubahan dimiliki oleh satu master padasatu waktu. Primary Site replidation. Tepat satu copy dari suatu relasi digunakan sebagai primary copy atau master copy.Replika pada tempat lain tidak langsung diubah Primary copy dipublikasikan.Tempat lain menjalankan (fragmen) ke relasi ini, terdapat beberapa copy sekunder.Isu utama adalah bagaimana pengubahan primary copy dapat dipropaganda ke copy sekunder ? Hal inidapat dilakukan dalam dua langkah. Langkah pertama ambilpengubahan yang dibuat dengan transaksi commit, kemudian aplikasikan perubahan tersebut 3. ALOKASI
Dalam basis data terdistribusi, alokasi mengacu kepada distribusi data ke tempat yang optimal. Ada tiga aspek dalam memastikan alokasi menjadi optimal, antara lain
biaya minimal , yang mencakup aspek komunikasi, penyimpanan, dan pemrosesan (pembacaan dan update); biaya mengacu pada waktu dan biaya jaringan kinerja, yang mencakup waktu respons dan throughput konstrain pemrosesan dan penyimpanan per situs (tempat menyimpan data)
Alokasi – Kebutuhan Informasi
Untuk dapat mengalokasikan basis data terdistribusi secara optimal, dibutuhkan informasi-informasi tentang sistem sebagai berikut:
informasi basis data skema konseptual basis data dan jumlah situs tersedia o jumlah, ukuran, dan selektivitas fragmen fragmen per relasi global o informasi aplikasi jumlah query aplikasi o rata-rata jumlah akses baca dariquery ke dalam sebuah fragmen o rata-rata jumlah akses update dari query ke dalam sebuah fragmen o matriks yang menunjukkan query mana yang meng-update dan/atau membaca o fragmen tertentu situs asal tiap-tiap query dijalankan o informasi situs unit cost penyimpanan data dalam satu situs o unit cost pemrosesan data dalam satu situs o informasi jaringan komunikasi antara dua situs, mencakup antara lain bandwidth dan tunda o (latency )
H. PEMROSESAN QUERY BASIS DATA TERDISTRIBUSI
Pemrosesan query pada basis data terdistribusi berbeda dari pemrosesan query pada basis data terpusat. Query-query pada relasi global perlu disesuaikan agar dapat menganani relasi-relasi dalam fragmen. Pembuatan query pada perancangan basis data terdistribusi dapat diilustrasikan dengan bagan di bawah ini.
Pada basis data terpusat, evaluasi query harus memperhatikan faktor pengaksesan storage (disk), yakni jumlah blok pada hard disk yang dibaca/tulis. Sementara itu, dalam pemrosesan query pada basis data terdistribusi, diperlukan pula pertimbangan dari sisi transmisi data melalui jaringan o peningkatan kinerja yang potensial akibat pemrosesan query secara paralel o Dalam membuat query pada basis data terdistribusi, perlu diperhatikan hal-hal sebagai berikut:
penyesuaian dari query relasi global ke query terhadap fragmen, yaitu bahwa ekspresi relasi global dalam query harus disesuaikan menjadi ekspresi relasi fragmen; relasi global harus dapat direkonstruksi (dibuat terlihat global) dari fragmen-fragmennya penyederhanaan ekspresi aljabar relasional, juga deteksi dan penghilangan redundant pemilihan strategi join yang optimal (khususnya pada program yang melakukan “semi-join“) pemilihan rencana pemrosesan query yang optimal
Sebagai contoh, jika dimisalkan terdapat relasi global PARTS(PartNo, OrderNo, Price) yang dipartisi menjadi
PARTS1:= σ0≤PartNo≤300(PARTS) PARTS2:= σ301≤PartNo≤500(PARTS) PARTS3:= σ501≤PartNo≤999(PARTS)
Query Q = σ 25≤PartNo≤350(PARTS) pada relasi global dapat diubah menjadi bentuk query fragmen berikut:
mengganti relasi global menjadi definisi fragmen-fragmennya: Q1 = σ25≤PartNo≤350(PARTS1 ∪ PARTS2 ∪ PARTS3)
melakukan pushdown pada tiap-tiap fragmen: Q2 = σ25≤PartNo≤350(PARTS1) ∪ σ25≤PartNo≤350(PARTS2) ∪ σ25≤PartNo≤350(PARTS3)
Pemrosesan Paralel pada Query Fragmen
Jika dimisalkan sebuah relasi R difragmentasi secara horizontal (seperti contoh sebelumnya) menjadi R 1∪ … ∪ Rn, aljabar relasional seleksi dan proyeksi menjadi σF(R) ≡ (σF(R1)) … (σF(Rn)) ∪ ∪ πattr(R) ≡ (πattr(R1)) ∪ … ∪ (πattr(Rn)) Fungsi-fungsi agregat (query Q(R) diasumsikan menghasilkan relasi satu kolom) min(Q(R)) ≡ min(Q(R1), …, Q(Rn)) o max(Q(R)) ≡ max(Q(R1), …, Q(Rn)) o sum(Q(R)) ≡ sum(Q(R1)) + … + sum(Q(R n)) o Operasi R join S Jika dimisalkan relasi S difragmentasi berdasarkan fragmentasi relasi R, sedemikian sehingga R = R1∪ R2 dan S = S 1∪ S2, setiap fragmen dari R hanya perlu digabungkan (di join) dengan fragmen dari S yang bersesuaian dengannya.
Pemrosesan Join Query
Jika terdapat relasi-relasi pada tempat (situs) yang terpisah, misalnya relasi R di situs A 1, S di A2, dan T di A 3, query R join S join T yang dilakukan pada situs A i, harus ditampilkan hasilnya pada situs A i. Strategi pemrosesan query yang mungkin adalah sebagai berikut:
Meng-copy salinan semua relasi R, S, dan T ke situs A i, kemudian melakukan join secara lokal di A i Melakukan join secara bertahap, sbb: 1. menyalin R ke A 2 dan menghasilkan temp1 = R join S 2. temp1 disalin ke A 3 dan menghasilkan temp2 = temp1 join T 3. temp2 sebagai hasil akhir dipindahkan ke A i
Strategi join di atas dapat dipilih dengan mempertimbangkan faktor-faktor berikut:
jumlah data yang ditransfer (salin) biaya (resource) yang diperlukan untuk transfer data antarsitus kecepatan pemrosesan di tiap situs
Operasi join dapat pula dioptimalkan dengan menggunakan strategi semijoin. R semijoin S ≡ πattr(R) (R join S). Jika dimisalkan relasi R disimpan di A 1 dan S di A 2, kemudian dilakukan operasi R join S pada A 1), strategi semijoin dapat diilustrasikan sebagai berikut: 1. lakukan proyeksi di A 1 hanya dengan atribut yang dimiliki R dan S; temp1 := π attr(R) ∩ attr(s)(R) 2. hasil temp1 disalin ke A 2 dan di- join join dengan S; temp2 := S join temp1; perhatikan bahwa temp2 adalah juga S semijoin R 3. temp2 disalin ke A 1 dan dilakukan operasi R join temp2 Strategi semijoin di atas dapat meningkatkan efisiensi operasi join karena data yang dipertukarkan melalui jaringan menjadi lebih kecil. Untuk membuat join lebih efisien, dapat diimplementasikan program (semi-)join yang memiliki pemroses query (query processor ) untuk membuat partisi dari sederetan join seperti R 1 join R2 join … Rn menjadi kumpulan
semijoin yang lebih efisien. Pemilihan semijoin dilakukan dengan mempertimbangkan perpindahan data ( resource dan waktu) beserta konstrain yang terkait, misalnya waktu respon maksimum dari query . I.
LOCKING PADA BASIS DATA TERDISTRIBUSI
Untuk menangani penguncian obyek basis data terdistribusi pada beberapa tempat digunakan cara : Sentralisasi : satu tempat melakukan semua penguncian dan membuka kunciuntuk semua obyek penguncian untuk suatu obyek dikerjakan pada Primary Copy : semua tempatprimary copy dari obyek tersebut. Untuk pembacaan membutuhkan akses ketempat terkunci sebaik sebaik tempat dimana obyek disimpan. Terdistribusi penuh : penguncian untuk suatu copy dilakukan pada tempatdimana copy disimpan. Hal in akan mengunci semua tempat pada saat menulisobyek.