Database Server Terdistribusi 1 Arsitektur ClientServer o Menerapkan
Database Server & Terdistribusi 1
Arsitektur Client/Server o Menerapkan model komputasi jaringan: n Sistem terdistribusi dengan client dan server yang terhubung lewat jaringan o Proses komputasi terbagi antara client dan server: n Client workstation/PC “konsumen” layanan server n Server PC/mini/mainframe) yang menyediakan layanan o Untuk DBMS, servernya adalah server database 2
Evolusi Arsitektur Client/Server o Arsitektur File Server n Logika aplikasi dan penyimpanan data di client Pemrosesan ekstensif oleh client o Arsitektur Database Server n Logika penyimpanan data di server o Arsitektur 3 -Tier n Logika aplikasi dan penyimpanan data pada server-server yang berbeda Pemrosesan minimal oleh client 3
Arsitektur File Server o Semua pemrosesan dilakukan di client (PC) yang mengambil data dari server n Sering disebut “Fat Client” o File data secara keseluruhan dikirim dari server ke client untuk pemrosesan. o Problem: n Volume transfer data melalui jaringan sangat tinggi. 4
Arsitektur File Server CLIENT GEMUK 5
Arsitektur File Server o Problem: n Volume transfer data melalui jaringan sangat tinggi. n Setiap client harus memiliki kemampuan DBMS penuh o Kebutuhan sumber daya komputasi tinggi pada mesin client. o Fungsi DBMS pada client-client harus dapat mengkoordinasikan penguncian data, pengecekan integritas data, dsb. 6
Arsitektur Database Server Pendekatan 2 -tiered o Client bertanggung jawab atas n Logika pemrosesan I/O (presentasi) n Logika aturan/prosedur bisnis o Server melakukan semua proses penyimpanan dan akses data n DBMS hanya ada di server n Juga dapat menyimpan logika prosedural (stored procedure) 7
Arsitektur Server Database Client lebih ramping Juga menyimpan stored procedure DBMS hanya di server 8
Arsitektur Database Server Keuntungan: n Mesin client tidak harus berkemampuan besar n Sangat mengurangi lalu lintas data melalui jaringan n Integritas data mudah dijaga karena operasi data dilakukan secara terpusat n Sebagian aturan/prosedur bisnis dapat dijalankan di server dengan stored procedures 9
Kelebihan Stored Procedure o Berupa perintah SQL (routine) yang disimpan oleh DBMS n Syntax: CREATE PROCEDURE … o Dapat dibuat untuk membakukan prosedur, penambahan dan pengubahan data n Meningkatkan keamanan data n Meningkatkan integritas data. o Mengurangi lalu lintas data jaringan. o Merampingkan/menyederhanakan client. 10
Arsitektur 3 -Tier Arsitektur Aplikasi Multi-tier: o Logika Presentasi n Input: keyboard/mouse n Output: monitor/printer o Logika Pengolahan n Pemrosesan Input/Output n Aturan/prosedur bisnis n Manajemen Data GUI (Web Browser) Prosedur, Fungsi, Program (Web Server) o Logika Penyimpanan Data n Penyimpanan dan pengambilan data Aktivitas DBMS (Database Server) 11
Arsitektur 3 -Tier Client sangat ramping Prosedur bisnis pada server terpisah DBMS hanya pada Server DB 12
Keuntungan Arsitektur 3 -Tier Keuntungan: o Client Ramping n PC hanya untuk user interface dan proses aplikasi minim, dengan kapasitas penyimpanan data terbatas atau tidak ada samasekali (misal, tanpa hard drive) o Skalabilitas n Biaya penambahan client baru minimal n Server dapat diganti dengan yang lebih besar tanpa mengganti client maupun server yang lain o Meningkatkan tingkat layanan pengguna n Karena terdistribusi, penanganan gangguan pada satu komponen lebih mudah ditangani 13
Keuntungan Arsitektur 3 -Tier Keuntungan: o Lebih mudah untuk diselaraskan dengan kebutuhan bisnis n Modifikasi/penyesuaian dapat dilakukan di salah satu komponen tanpa mempengaruhi komponen-komponen lain o Fleksibilitas teknologi n Dapat memadukan terknologi dari berbagai vendor o Memperkecil resiko kesalahan memilih teknologi n Dapat mengganti salah satu komponen dengan teknologi baru tanpa mempengaruhi komponen yang lain o Efisiensi biaya dalam jangka panjang 14
Tantangan Arsitektur 3 -Tier Permasalahan: o Biaya jangka pendek (awal) tinggi o Biaya administrasi/pemeliharaan: n Membutuhkan tambahan tools dan training n Membutuhkan pengalaman teknis o Standar-standar komponen yang tidak kompatibel n Jika tidak menerapkan open standard o Kesulitan mendapatkan aplikasi yang kompatibel untuk end user n Umumnya aplikasi desktop dirancang sebagai sistem stand alone (fat client) 15
Sistem Database Terdistribusi o Database Terdistribusi: Suatu database logis yang secara fisik tersebar pada beberapa komputer (di beberapa lokasi) yang dihubungkan melalui jaringan komunikasi data. 16
Motivasi Database Terdistribusi o Otonomi dan desentralisasi unit-unit usaha. o Berbagi data antar aplikasi-aplikasi lokal. o Menurunkan biaya komunikasi data, jika dibandingkan database terpusat. o Meningkatkan keandalan sistem terhadap gangguan. o Aplikasi-aplikasi yang dimiliki dibuat oleh vendor-vendor yang berbeda. o Memungkinkan duplikasi/replikasi data di beberapa tempat. 17
Sistem Homogen (vs Heterogen) Homogen: o Data terdistribusi pada server-server. o DBMS yang sama di tiap server. o Memungkinkan pengelolaan semua data oleh DBMS terdistribusi (tidak ada data lokal eksklusif). o Semua akses menggunakan skema global tunggal. o Skema global adalah gabungan (union) dari skema-skema lokal. 18
Database Homogen Source: adapted from Bell and Grimson, 1992. DBMS-DBMS identik 19
Sistem Heterogen o Data terdistribusi pada server-server. o DBMS yang berbeda dapat digunakan pada tiap server. o Akses lokal dilakukan dengan menggunakan DBMS dan skema lokal o Akses non-lokal (remote) dilakukan dengan menggunakan skema global 20
Sistem Heterogen Source: adapted from Bell and Grimson, 1992. DBMS-DBMS berbeda 21
Kriteria Teknis o Transparansi Lokasi n Pengguna tidak harus tahu lokasi fisik data n Permintaan data secara otomatis disalurkan ke server yang sesuai. o Otonomi Lokal n Server lokal dapat tetap beroperasi dengan database lokal jika hubungan jaringan terputus n Setiap server mengontrol datanya sendiri, termasuk masalah keamanan, pencatatan, backup & recovery. 22
Keuntungan Database Terdistribusi C Meningkatkan keandalan dan ketersediaan C C (dari gangguan). Desentralisasi pengelolaan data. Pertumbuhan secara modular (penambahan database baru tanpa mengubah database-database lain). Menurunkan biaya komunikasi data. Response time yang lebih cepat untuk quary-query tertentu (yang hanya melibatkan data lokal). 23
Kelemahan Database terdistribusi D Harga dan kompleksitas perangkat lunak D D tinggi. Response time lambat untuk query-query yang melibatkan database-database tersebar. Ancaman integritas data – jika ada duplikat data yang diubah. 24
Terdistribusi atau Tidak? o Ketersediaan dana, otonomi, keamanan. o Pola akses data menurut lokasi. o Rencana pertumbuhan dan ekspansi. o Kemampuan/ketersediaan teknologi. o Biaya pengelolaan teknologi yang kompleks. o Kebutuhan akan layanan data yang handal. 25
DBMS Terdistribusi o Database terdistribusi membutuhkan DBMS terdistribusi o Fungsi-fungsi DBMS Terdistribusi: n Mencari lokasi data dengan suatu Kamus Data Terdistribusi (distributed data dictionary). n Menentukan lokasi untuk mengambil dan memproses bagian-bagian query. n Translasi antar DBMS yang berbeda-beda. 26
DBMS Terdistribusi … Fungsi-fungsi DBMS Terdistribusi: n Menjaga konsistensi data akibat akses secara bersamaan. n Menjaga keunikan primary key global. n Meningkatkan skalabilitas. n Keamanan, konkurensi, optimasi query, recovery dari gangguan. 27
Langkah-langkah Transaksi Lokal pada Arsitektur DBMS terdistribusi 2 1 3 5 4 Transaksi lokal: semua data tersimpan secara lokal 28
Langkah-langkah Transaksi Global pada Arsitektur DBMS terdistribusi 2 3 1 7 8 6 4 Transaksi global: sebagian data berada di lokasi-lokasi remote 5 29
Transparansi pada DBMS Terdistribusi o Transparansi Lokasi n Pengguna/aplikasi tidak harus tahu dimana lokasi fisik data o Transparansi Replikasi n Pengguna/aplikasi tidak harus tahu bahwa data direplikasi o Transparansi Gangguan n Bahwa semua aktivitas suatu transaksi terjadi, atau sama sekali tidak terjadi (tidak setengah-setengah) 30
Transparansi pada DBMS Terdistribusi … Transparansi Gangguan n Setiap server memiliki komponen Manajemen Transaksi o Mencatat transaksi dan rekaman (image) data sebelum dan setelah transaksi. o Prosedur pengendalian konkurensi (akses modifikasi bersamaan) untuk menjaga integritas data. 31
- Slides: 31