ARSITEKTUR BASIS DATA TERDISTRIBUSI Fatoni, MM.,M.Kom. ARSITEKTUR BASIS DATA TERDISTRIBUSI Terdapat tiga alternatif pendekatan untuk membedakan fungsi DBMS, yaitu: 1. Client-server, 2. Kolaborasi server dan 3. Middleware. Client-Server Klien/server, distribusi tugas manajemen data pada server sedangkan klien fokus pada penyediaan lingkungan aplikasi termasuk user interface. Tugas komunikasi yang dibagi antara mesin klien dan 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, Server akan lebih banyak melaksanakan Pekerjaan (Transaksi, Penyimpanan, Optimasi). Client berfungsi sebagai Interface dengan user. Client-Server Client-Server 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. Alasan Arsitektur Client-Server 1. Implementasi yang relatif sederhana karena pembagian fungsi yang baik dan karena server tersentralisasi. 2. Mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. 3. Pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server CLI yang tidak user-friendly. Konsep Arsitektur SingleTier Arsitektur single tier memiliki kekurangan, yaitu dalam hal interface grafis yang membutuhkan lebih banyak dukungan komputasional/pemecahan masalah daripada sekedar dumb terminal sederhana. Adanya komputer personal yang semakin canggih dengan harga relatif murah yang dapat digunakan sebagai client dapat digunakan sebagai client dapat mengarah pada pengembangan arsitektur two tier. Client-Server Two Tier Client-Server Two Tier Client-Server Two Tier Model Arsitektur Client-Server Arsitektur ini sedikitnya memberi dua peran bagi client, dimana client tidak hanya berperan sebagai penyaji interface saja, melainkan juga berfungsi mengoperasikan aplikasi. Sementara itu, server hanya bertugas untuk mengelola data saja sehingga beban client menjadi bertambah. Model thick client server ini diterapkan pada sistem layanan Anjungan Tunai Mandiri (ATM). Model Arsitektur Client-Server Model Arsitektur Client-Server Model Arsitektur Client-Server Arsitektur three tier memiliki sejumlah keuntungan , antara lain masing-masing tier akan beroperasi dengan stabilitas yang tinggi karena beban terbagi secara merata. Model ini juga memungkinkan dimana pada masing-masing tier diterapkan platform yang berbeda. Model Arsitektur Client-Server Collaboration -Server • Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah query ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. • Proses client cukup komplek dan terjadi overlap dengan server; sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan digunakan alternatif arsitektur client-server yaitu sistem Collaboration Server. Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server Collaboration -Server Jika server menerima query yang membutuhkan akses ke data pada server lain, sistem membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk menggabungkan jawaban menjadi query asal. Sistem MiddleWare • Pada sistem client server tidak memungkinkan satu query pada client dijalankan oleh multipel server, karena tidak ada mekanisme kolaborasi antar server. Sistem middleware dirancang untuk memungkinkan satu query dijalankan pada multipel server dengan server-server basis data tidak mengelola eksekusi pada multi tempat. • Untuk koordinasi sub-query dan eksekusi join dilakukan oleh perangkat lunak tersendiri yang disebut middleware. KOMPONEN ARSITEKTUR DDBMS Pada arsitektur DDBMS terdapat empat komponen utama yaitu : 1. Komponen DBMS lokal (LDBMS) 2. Komponen Komunikasi Data (DC) 3. Katalog Sistem Global (GCS) 4. Komponen DDBMS Terdistribusi KOMPONEN ARSITEKTUR DDBMS Komponen Lokal DBMS Komponen LDBMS ini adalah komponen standard dari DBMS, yang memiliki tanggung jawab untuk mengontrol data lokal pada masing – masing lokasi yang telah memiliki basisdata. Hal ini berarti setiap lokasi memiliki SGC/ Katalog Sistem Global masing – masing yang berisi semua informasi tentang data Komponen Komunikasi Data/DC Komponen ini adalah perangkat lunak dan perangkat keras yang memungkinkan semua lokasi dapat berkomunikasi dengan baik satu sama lain. Komponen komunikasi data berisikan informasi tentang site dan jaringannya. Katalog Sistem Global ( GCS ) GCS menangani informasi yang spesifik mengenai pendistribusian dari suatu sistem, seperti fragmentasi, penggandaan dan alokasi nya. Komponen ini dapat mengatur dirinya sendiri seperti mendistribusikan basisdata dan fragmentasi , replikasi keseluruhan atau sentralisasi Katalog Sistem Global ( SGC ) Dalam sistem ini terdapat katalog lokal di setiap site yang terdiri dari meta data yang berhubungan data yang disimpan. Untuk Keterhubungannya disimpan di beberapa site, hal ini merupakan tanggung jawab pada setiap lokal katalog untuk mencatat definisi dari setiap fragmen dan setiap replikas dari setiap fragmen dan mencatat dimana fragment atau replika tersebut di alokasikan. Kapanpun fragmen atau replika di gunakan pada lokasi yang berbeda, lokal katalog harus selalu mengupdate perubahan tersebut, sehingga fragmen atau replika dapat diandalkan keberadaannya. Komponen DBMS Terdistribusi Komponen DDBMS adalah pengendalian unit di semua sistem. Arsitektur Paralel DBMS 1. Penggunaan memory bersama ( share memory ) 2. Penggunaan disk bersama ( share disk ) 3. Penggunaan secara sendiri-sendiri ( share nothing ) Arsitektur pada penggunaan secara sendiri–sendiri hampir sama dengan DBMS terdistribusi, namun pendistribusian data pada paralel DBMS hanya berbasis pada kinerja nya saja. Node pada DDBMS adalah merupakan pendistribusian secara geographic, administrasi yang terpisah , dan jaringan komunikasi yang lambat, sedangkan node pada paralel DBMS adalah hubungan dengan komputer yang sama/site yang sama. Arsitektur Share Memory Arsitektur Share Memory Arsitektur yang menghubungkan beberapa prosesor di dalam sistem tunggal yang menggunakan memori secara bersama – sama. Dikenal dengan SMP (Symmetric Multiprocessing ), metode ini sering digunakan dalam bentuk workstation personal yang mensupport beberapa mikroprosesor dalam paralel dbms, RISC ( Reduced Instruction Set Computer ) yang besar berbasis mesin sampai bentuk mainframe yang besar Arsitektur Share Disk Arsitektur Share Disk Arsitektur yang mengoptimalkan jalannya suatu aplikasi yang tersentrallisasi dan membutuhkan keberadaan data dan kinerja yang tinggi. Setiap prosesor dapat mengakses langsung semua disk , tetapi prosesor tersebut memiliki memorinya sendiri – sendiri. Seperti halnya penggunaan secara sendiri – sendiri arsitektur ini menghapus masalah pada penggunaan memori bersama tanpa harus mengetahui sebuah basis data di partisi. Arsitektur ini di kenal dengan cluster Arsitektur Share Nothing Arsitektur Share Nothing Sering di kenal dengan Massively parallel processing ( MPP ) yaitu arsitektur dari beberapa prosesor di mana setiap prosesor adalah bagian dari sistem yang lengkap , yang memiliki memori dan disk. Basis data ini di partisi untuk semua disk pada masing – masing sistem yang berhubungan dengan basis data dan data di berikan secara transparan untuk semua pengguna yang menggunakan sistem. Struktur Basis Data Terdistribusi Sebuah sistem basis data terdistribusi hanya mungkin dibangun dalam sebuah sistem jaringan komputer. Topologi Jaringan a. Topologi bintang (star) b. Topologi Cincin (Ring) c. Topologi Bus Struktur Basis Data Terdistribusi Perbedaan utama di antara berbagai topologi di atas terletak pada: a. Biaya Instalasi Biaya dalam membangun hubungan fisik (link) antar simpul. b. Biaya Komunikasi Waktu dan biaya dalam pengoperasian sistem berupa pengiriman data dari satu simpul ke simpula lain Struktur Basis Data Terdistribusi c. Kehandalan Frekuensi/tingkat kegagalan komunikasi yang terjadi. d. Ketersediaan Tingkat kesiapan data yang dapat diakses sebagai antisipasi kegagalan komunikasi. STANDARISASI DBMS • Berdasarkan Komponen. Komponen dari sistem didefinisikan bersama dengan keterkaitan antar komponen. Suatu DBMS terdiri dari sejumlah komponen, masing-masing menyediakan beberapa fungsi. • Berdasarkan Fungsi. Kelas-kelas yang berbeda dari pengguna diidentifikasi dan fungsi bahwa sistem akan melakukan untuk masing-masing kelas didefinisikan. Spesifikasi Sistem dalam kategori ini biasanya menentukan struktur hirarki untuk kelas pengguna. 36 STANDARISASI DBMS • Berdasarkan Data. Jenis data yang berbeda diidentifikasi, dan sebuah kerangka kerja arsitektur ditentukan yang mendefinisikan unit fungsional yang akan menyadari atau menggunakan data sesuai dengan pandangan yang berbeda. Pendekatan (juga disebut sebagai pendekatan data logical) diklaim menjadi pilihan lebih baik untuk kegiatan standardisasi. 37 STANDARISASI DBMS ARSITEKTUR ANSI / SPARC ANSI / SPARC (American National Standards Institute, Standards Planning And Requerements Commite = Desain Standard DBMS) arsitektur diklaim didasarkan pada data organisasi. Ia mengakui tiga tampilan data: 1. Tampilan eksternal, yang adalah bahwa pengguna, yang mungkin programmer, dari 2. Pandangan konseptual, yaitu perusahaan. Untuk masing-masing pandangan, definisi skema yang tepat diperlukan. 3. Pandangan internal, bahwa dari sistem atau mesin; 38 STANDARISASI DBMS ARSITEKTUR ANSI / SPARC 39 STANDARISASI DBMS ARSITEKTUR ANSI / SPARC 1. Pada tingkat terendah arsitektur adalah pandangan internal, yang berkaitan dengan definisi fisik dan organisasi data. 2. Pada ekstrem yang lain adalah pandangan eksternal, yang berkaitan dengan bagaimana para pemakai memandang database. 3. Antara kedua ujung adalah skema konseptual, yang merupakan definisi abstrak dari database. Ini adalah "dunia nyata" pandangan dari perusahaan yang dimodelkan dalam database. 40 STANDARISASI DBMS ARSITEKTUR ANSI / SPARC Sistem ditandai sehubungan dengan: (1) Otonomi sistem lokal, (2) Distribusi, (3) Heterogenitas. 41 Otonomi Otonomi mengacu pada distribusi kontrol, tidak ada data. Hal ini menunjukkan sejauh mana DBMSs individu dapat beroperasi secara independen. Tiga alternatif : • Ketat integrasi • Semiautonomous sistem • Isolasi total 42 Otonomi Ketat integrasi. Seluruh database tersedia untuk setiap pengguna yang ingin berbagi informasi, yang dapat berada di beberapa database. Dari sudut pandang pengguna, data secara logis terpusat dalam satu database. Semiautonomous sistem. DBMS dapat beroperasi secara independen. Masingmasing DBMS menentukan bagian mana dari database mereka sendiri, mereka akan membuat diakses pengguna DBMS lain. 43 Otonomi Total isolasi. Sistem DBMSs individu yang berdiri sendiri, yang tidak mengetahui tentang keberadaan DBMS lain atau bagaimana berkomunikasi dengan mereka. 44 Otonomi Distribusi mengacu pada distribusi data. Tentu saja, kita sedang mempertimbangkan distribusi fisik data melalui beberapa situs, pengguna melihat data sebagai satu data logis. Dua alternatif : • Client / server distribusi • Peer-to-peer distribusi (distribusi penuh) 45 Distribusi Client / distribusi server. Klien / server distribusi konsentrat tugas manajemen data pada server sedangkan klien fokus pada penyediaan lingkungan aplikasi termasuk user interface. Peer-to-peer distribusi. Tidak ada perbedaan dari mesin klien versus server. Setiap mesin memiliki fungsionalitas penuh DBMS dan dapat berkomunikasi dengan mesin lainnya untuk mengeksekusi query dan transaksi. 46 Heterogenitas • Heterogenitas dapat terjadi dalam berbagai bentuk dalam sistem terdistribusi, mulai bentuk heterogenitas perangkat keras dan perbedaan dalam jaringan protokol untuk variasi dalam manajer data. • Mewakili data dengan alat pemodelan yang berbeda menciptakan heterogenitas karena kekuatan ekspresif yang melekat dan keterbatasan model data individu. • Heterogenitas dalam bahasa query tidak hanya melibatkan penggunaan paradigma yang sama sekali berbeda akses data dalam model data yang berbeda, tetapi juga mencakup perbedaan dalam bahasa bahkan ketika sistem individu menggunakan model data yang sama. 47