Pertemuan 5
Teknologi
Basis Data
Presented by :
Sity Aisyah Nasution, S.Kom Magister Student in Univ Budi Luhur
Email :
phoebe_qithi@yahoo.com Blog :
Distributed Database
Client Server
Perkembangan Database Saat Ini
DATABASE TERDISTRIBUSI
: Database yang disimpan
pada beberapa komputer didistribusi dalam sebuah sistem
terdistribusi melalui media komunikasi seperti high speed
buses atau telepone line.
SISTEM DATABASE TERDISTRIBUSI
: berisi kumpulan
site
eksekusi transaksi lokal (mengakses data pada
satu site) & transaksi global (mengakses data pada site
berbeda).
Contoh :
Transaksi lokal : transaksi menambahkan dana pada nomor rekening 1112234 yang berada di cabang margonda. Transaksi ditentukan pada cabang margonda.
Transaksi global : transaksi transfer dari rekening 1112234 ke rekening 2223410 yang berada di kramat jati (rekening didua site berbeda telah diakses sebagai hasil dari eksekusinya)
TIPE BASIS DATA TERDISTRIBUSI
Terdapat dua tipe basis data terdistribusi :
· Homogen
: yaitu sistem dimana setiap tempat menjalankan
tipe DBMS yang sama
· Heterogen
: yaitu sistem dimana setiap tempat yang berbeda
menjalankan DBMS yang berbeda, baik
Relational DBMS (RDBMS) atau non relational
1. Merefleksikan pada bentuk dari struktur organisasinya
1. 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.
2.
2. Penggunaan bersama dan lokal otonomiPenggunaan 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.
KEUNTUNGAN SISTEM
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.
Data Base Administrator (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.
KEUNTUNGAN SISTEM
3. Keberadaan data yang ditingkatkan
3. 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.
4.
4. Keandalan yang ditingkatkanKeandalan 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.
KEUNTUNGAN SISTEM
5. Kinerja yang ditingkatkan
5. 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.
KEUNTUNGAN SISTEM
6.
6. EkonomiEkonomi
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 geografi sehingga mempermudah operasional pada setiap situs.
KEUNTUNGAN SISTEM
7.
7. Perkembangan modularPerkembangan 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.
KEUNTUNGAN SISTEM
1. Harga software mahal
1. Harga software mahal
Hal ini disebabkan sangat sulit untuk membuat sistem database distribusi.
2. Kemungkinan kesalahan lebih besar
2. Kemungkinan kesalahan lebih besar
Site-site beroperasi secara paralel sehingga lebih sulit untuk menjamin kebenaran dan algoritma. Adanya kesalahan mungkin tak dapat
diketahui.
3. Biaya pemrosesan tinggi
3. Biaya pemrosesan tinggi
Perubahan pesan dan penambahan perhitungan dibutuhkan untuk mencapai koordinasi antar site.
KERUGIAN SISTEM
1. FRAGMENTASI DATA
1. FRAGMENTASI DATA
2. REPLIKASI
2. REPLIKASI
3. ALOKASI DATA
3. ALOKASI DATA
RANCANGAN SISTEM
Fragmentasi
Fragmentasi : relasi dibagi ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda.
FRAGMENTASI
Kenapa harus dilakukan fragmentasi ?
Ada empat alasan untuk fragmentasi :
1. Kebiasaan
Umumnya aplikasi bekerja dengan tabel views dibandingkan dengan
FRAGMENTASI
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
FRAGMENTASI
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, yaitu :
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
FRAGMENTASI
Tiga jenis fragmentasi :
1. Fragmentasi Horizontal
FRAGMENTASI
Branch-name Account-number Customer-name Balance
Valleyview 177 Camp 205
Valleyview 402 Khan 10000
Valleyview 408 Khan 1123
Valleyview 639 Green 750
FRAGMENTASI
2. Fragmentasi Vertikal
Adalah relasi yang terdiri dari subset pada atribut.
Branch-name
Account-Hillside 305 Lowman 500 1
Hillside 226 Camp 336 2
Valleyview 177 Camp 205 3
Valleyview 402 Khan 10000 4
Hillside 115 Khan 62 5
Valleyview 408 Khan 1123 6
Valleyview 639 Green 750 7
Deposit 3 = branch-name, customer-name,tuple-id (deposit)
Fragmentasi ini terdiri dari horisontal
REPLIKASI
REPLIKASI
Adalah Sistem memelihara beberapa salinan (copy)
dari relasi.
ALOKASI DATA
CLIENT-SERVER
Client Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server.
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 seperti pada Gambar
1.0
Client bertanggung jawab pada antar muka untuk user, sedangkan
server mengatur data dan mengeksekusi transaksi.
Aplikasi Client/Server Perkembangan teknologi komputer
yang sangat pesat juga berimbas kepada perkembangan
pembuatan aplikasi komputer.
Aplikasi yang dulunya centralized, berkembang manjadi
aplikasi client server.
Aplikasi Client/Server
adalah suatu model aplikasi yang
dibangun dengan pemikiran lebih maju daripada aplikasi
warisan lama.
Dalam model Client/Server ini, pemrosesan yang terjadi
pada aplikasi dibagi menjadi dua bagian besar, yaitu bagian
client (pemakai data) dan bagian server (penyedia data).
Client melakukan permintaan data, menampilkannya pada
alat keluaran, dan melakukan editing seperlunya.
Sedangkan
server
melakukan
penyimpanan
dan
pemeliharaan data, serta melakukan validasi data yang
diinput oleh client.
Aplikasi Client/Server biasanya bersifat multi-user, atau
datanya dapat digunakan oleh banyak user pada waktu
bersamaan.
Pada model ini, tampilan aplikasi sudah grafis, dan lebih
nyaman digunakan.
FUNGSI CLIENT-SERVER
Software client dan server saling berkomunikasi dengan
menggunakan SQL
Server SQL bertanggung jawab atas manajemen data local dalam
sebuah site, seperti halnya DBMS terpusat
Fungsi client SQL juga diperluas
FUNGSI CLIENT-SERVER
Memastikan konsistensi dari salinan data item hasil replikasi
dengan
menggunakan
teknik
pengendalian
cocurrency
terdistribusi
KEUNTUNGAN CLIENT-SERVER
Efisiensi jumlah pekerjaan
Client mengakses pada remote data (via standards)
Menyediakan fungsi DBMS secara penuh pada mesin client
Pengukuran resource secara horizontal dan vertikal
Harga dan performa yang lebih baik pada mesin client
Kemampuan untuk menggunakan tool yang lebih familiar dengan user di client
KELEMAHAN CLIENT-SERVER
Server membentuk bottleneck
Server membentuk titik kegagalan tunggal
CLIENT-SERVER
Contoh proses dari system client/server
Interaksi antara client dan server akan terjadi seperti halnya pada saat pemrosesan sebuah query SQL :
• client menguraikan query dari user dan kemudian memilah-milah query tersebut menjadi beberapa query local pada site independent
• setiap query akan dikirimkan pada site server yang sesuai
• setiap server memproses query local dan kemudian mengirimkan hasilnya ke site client