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