Pertemuan 5 Teknologi Basis Data
Pertemuan 5 Teknologi Basis Data Presented by : Sity Aisyah Nasution, S.Kom
Magister Student in Univ Budi
Luhur Email : phoebe_qithi@yahoo.com Blog : yeshasalsabila.blogspot.comBahasan Hari Ini : Distributed Database Client Server Perkembangan Database Saat Ini
SISTEM BASIS DATA TERDISTRIBUSI
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).
SISTEM BASIS DATA TERDISTRIBUSI
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 DBMS.BASIS DATA TERDISTRIBUSI
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. Penggunaan bersama dan lokal otonomi
2. 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.
BASIS DATA TERDISTRIBUSI
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.
BASIS DATA TERDISTRIBUSI
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. Keandalan yang ditingkatkan
4. 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
BASIS DATA TERDISTRIBUSI
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.
BASIS DATA TERDISTRIBUSI
6. Ekonomi
6. 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 geografi sehingga mempermudah operasional pada setiap situs.
BASIS DATA TERDISTRIBUSI
7. Perkembangan modular
7. 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.
BASIS DATA TERDISTRIBUSI
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.
1. FRAGMENTASI DATA
1. FRAGMENTASI DATA
2. REPLIKASI
2. REPLIKASI
3. ALOKASI DATA
3. ALOKASI DATA BASIS DATA TERDISTRIBUSI
Fragmentasi : relasi dibagi ke dalam beberapa bagian, setiap bagian Fragmentasi disimpan pada lokasi yang berbeda. 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, 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 ketergantungan di fragmentasi dan dilokasi pada beberapa situs yang
Tiga jenis fragmentasi :
1. Fragmentasi Horizontal Fragmentasi ini merupakan relasi yang terdiri dari subset sebuah tuple.
Contoh : Deposit 1 = branch-name = “Hillside” (Deposit) Deposit 1 = branch-name = “Valleyview” (Deposit)
Branch-name Account-number Customer-name Balance Hillside 305 Lowman 500 Hillside 226 Camp 336 Hillside 115 Khan
62 Deposit 1
Branch-name Account-number Customer-name Balance Valleyview 177 Camp 205 Valleyview 402 Khan 10000 Valleyview 408 Khan 1123 Valleyview 639
Green 750 Deposit 2
2. Fragmentasi Vertikal Adalah relasi yang terdiri dari subset pada atribut.
Branch-name Account- number Customer- name Balance Tuple- id 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
Branch- name Customer- name Tuple-id Hillside Lowman
1 Hillside Camp
2 Valleyview Camp
3 Valleyview Khan
4 Hillside Khan
5 Valleyview Khan
6 Valleyview Green
7 FRAGMENTASI Balance Account- number Tuple- id
500 305
1 336 226
2 205 177 3 10000 402
4 62 115
5 1123 408 6 750 639
7
REPLIKASI
Adalah Sistem memelihara beberapa salinan (copy) dari relasi.
Setiap salinan disimpan pada beberapa lokasi yang berbeda.
REPLIKASI
Adalah Sistem memelihara beberapa salinan (copy)
dari relasi.
Setiap salinan disimpan pada beberapa lokasi yang
berbeda.ALOKASI DATA
Adalah setiap fragmen disimpan pada situs
dengan distribusi yang optimal.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 System
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 Gambar1.0
Client bertanggung jawab pada antar muka untuk user, sedangkan
server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal
computer dan mengirim query ke sebuah server yang berjalan pada mainframe.APLIKASI CLIENT-SERVER
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
APLIKASI CLIENT-SERVER
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
APLIKASI CLIENT-SERVER
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 Menghasilkan rencana eksekusi proses terdistribudi dan
menguraikan query menjadi query local yang kemudian akan diproses oleh server SQL localFUNGSI CLIENT-SERVER
Memastikan konsistensi dari salinan data item hasil replikasi
dengan menggunakan teknik pengendalian cocurrency terdistribusi Menjamin valensi dari transakso global dengan melaksanakan
global recovery ketika terdapat beberapa sites mengalami kegagalan prosesKEUNTUNGAN 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 Secara keseluruhan menyediakan performa dan harga yang lebih
KELEMAHAN CLIENT-SERVER
Server membentuk bottleneck Server membentuk titik kegagalan tunggal Kesulitan dalam pengukuran database
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
- site client kemudian akan meongkombinasikan hasil dari subqueries- subqueries untuk membentuk sebuah hasil/laporan dari query yang