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.com

  Bahasan 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 Gambar

  1.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 local

FUNGSI 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 proses

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  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