Perencanaan Infrastruktur Lanjutan Konsep Infrastructure Client Server dalam

  • Slides: 35
Download presentation
Perencanaan Infrastruktur Lanjutan Konsep Infrastructure Client Server dalam Database Terdistribusi PROGRAM PASCASARJANA (PPs) UNIVERSITAS

Perencanaan Infrastruktur Lanjutan Konsep Infrastructure Client Server dalam Database Terdistribusi PROGRAM PASCASARJANA (PPs) UNIVERSITAS PUTRA INDONESIA “YPTK” PADANG Oleh. Dr. Ir. Sumijan, M. Sc

Arsitektur Client/Server o Menerapkan model komputasi jaringan: n Sistem terdistribusi dengan client dan server

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

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

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 CLIENT GEMUK 5

Arsitektur File Server o Problem: n Volume transfer data melalui jaringan sangat tinggi. n

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

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

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

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:

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:

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

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

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

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:

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

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

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

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

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

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

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

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 (dari C C gangguan). Desentralisasi pengelolaan

Keuntungan Database Terdistribusi C Meningkatkan keandalan dan ketersediaan (dari C C 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 tinggi. D Response time lambat

Kelemahan Database terdistribusi D Harga dan kompleksitas perangkat lunak tinggi. D Response time lambat untuk query-query yang melibatkan D database-database tersebar. Ancaman integritas data – jika ada duplikat data yang diubah. 24

Terdistribusi atau Tidak? o o o Ketersediaan dana, otonomi, keamanan. Pola akses data menurut

Terdistribusi atau Tidak? o o o 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. 25

DBMS Terdistribusi o Database terdistribusi membutuhkan DBMS terdistribusi o Fungsi-fungsi DBMS Terdistribusi: n Mencari

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 query. n Translasi antar DBMS yang berbeda-beda. 26

DBMS Terdistribusi … Fungsi-fungsi DBMS Terdistribusi: n n Menjaga konsistensi data akibat akses secara

DBMS Terdistribusi … Fungsi-fungsi DBMS Terdistribusi: n n Menjaga konsistensi data akibat akses secara bersamaan. Menjaga keunikan primary key global. Meningkatkan skalabilitas. Keamanan, konkurensi, optimasi query, recovery dari gangguan. 27

Langkah-langkah Transaksi Lokal pada Arsitektur DBMS terdistribusi 2 1 3 5 4 Transaksi lokal:

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

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

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

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

Kapan kita menggunakan 3 -tier? o Saat ini 3 -tier menjadi sangat populer dibanding

Kapan kita menggunakan 3 -tier? o Saat ini 3 -tier menjadi sangat populer dibanding 2 -tier arsitektur tapi 2 -tier tidak akan bisa ditinggalkan. o Masih terdapat banyak aplikasi yang ideal menggunakan arsitektur 2 -tier. o Lalu bagaimana kita mengetahui model apa yang cocok untuk aplikasi kita dan sesuai dengan karakteristik perusahaan? Berikut ini adalah beberapa kriteria yang bisa digunakan untuk menentukan kapan sebuah aplikasi menggunakan model arsitektur 3 -tier client/ server :

Kapan kita menggunakan 3 -tier? o Banyaknya layanan atau class aplikasi lebih dari 50

Kapan kita menggunakan 3 -tier? o Banyaknya layanan atau class aplikasi lebih dari 50 o Program aplikasi di buat atau ditulis dalam beberapa bahasa pemrograman yang berbeda untuk masing-masing organisasi. o Dua atau lebih data source yang heterogen seperti dua DBMs yang berbeda atau DBMs dan file system Suatu aplikasi akan digunakan https: //www. researchgate. net/ https: //www. freetranslation. com/ https: //phpmu. academia. edu/

Kapan kita menggunakan 3 -tier? o Suatu aplikasi akan digunakan lebih dari 3 tahun.

Kapan kita menggunakan 3 -tier? o Suatu aplikasi akan digunakan lebih dari 3 tahun. Apalgi jika kita akan merencanakan banyak modifikasi atau penambahan Beban kerja yang sangat tinggi. o Lebih dari 50000 transaksi perhari atau lebih dari 300 user yang mengakses ke sistem yang sama pada database yang sama dalam waktubersamaan o Ekspektasi bahwa aplikasi akan terus berkembang sepanjang waktu