< Previous 231 Basis Data Beberapa keuntungan penggunaan DDBMS 1. Merefleksikan bentuk dari struktur organisasi. Suatu organisasi memiliki sub organisasi di lokasi yang tersebar di beberapa tempat, sehingga basis data yang digunakan tersebar sesuai lokasi dari sub organisasi tersebut. 2. Penggunaan bersama dan lokal otonomi. Distribusi secara geografis dari sebuah organisasi dapat terlihat dari data terdistribusinya, pengguna pada setiap site dapat mengakses data yang disimpan pada site lain. Data dapat dialokasikan dekat pengguna pada sebuah site, sehingga mempunyai kontrol terhadap data dan secara konsekuen dapat memperbaharui dan memiliki kebijakkan untuk data tersebut. 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. 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 ditingkatkan. Sebuah basis data dapat direplikasi ke dalam beberapa fragmen sehingga keberadaanya dapat di simpan di beberapa lokasi. Jika terjadi kegagalan dalam pengaksesan data pada suatu site karena jaringan komunikasi terputus maka site yang ingin mengakses data tersebut dapat mengakses site yang tidak mengalami kerusakan. 5. Kinerja yang ditingkatkan. Sebuah data ditempatkan pada suatu site dimana data tersebut banyak diakses pengguna. Hal ini mempunyai dampak yang baik untuk paralel DBMS yaitu memiliki kecepatan dalam pengkasesan data yang lebih baik dibandingkan dengan basis data tersentralisas.i Setiap site hanya menangani sebagian dari seluruh basis data, mengakibakan perbedaan pada pelayanan CPU dan I/O seperti yang di karakteristikan pada DBMS tersentralisasi. 6. Ekonomi. Grosch's Law menyatakan daya listrik dari sebuah komputer di hitung menurut biaya yang dihabiskan dari penggunaan peralatannya, 3 kali biaya peralatan, 9 kali dari daya listrik . Sehingga lebih murah jika 232 Basis Data 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. 7. Perkembangan modular. Dalam sistem terdistribusi lebih mudah untuk menangani ekspansi. Site baru dapat di tambahkan ke suatu jaringan tanpa mempengaruhi operational site yang ada. Penambahan ukuran basis data dapat ditangani dengan menambahkan pemrosesan dan daya tampung penyimpanan pada suatu jaringan. Kelemahan atau kekurangan DDBMS yaitu : 1. Kompleksitas. Pada DDBMS yang digunakan adalah replikasinya, yang asli tidak digunakan untuk operasional. Hal ini untuk menjaga reliabilitas dari suatu data. Hal ini juga menimbulkan masalah yang sangat kompleks dimana DBA harus dapat menyediakan pengaksesan dengan cepat, keandalan dan keberadaan basis data yang up to date. Jika hal itu tidak terpenuhi, akan terjadi penurunan kinerja, keandalan dan kerberadaan dari DBMS tersebut. 2. Biaya. Meningkatnya kompleksitas DDBMS berarti biaya untuk perawatan lebih besar dibandingkan dengan DBMS tersentralisasi, seperti biaya untuk membuat jaringan, biaya komunikasi yang berjalan, orang-orang ahli dalam penggunaan, pengaturan dan pengawasan dari DDBMS. 3. Keamanan. Pada DBMS tersentralisasi, pengaksesan data lebih terkontrol. Sedangkan pada DDBMS bukan hanya replikasi data yang harus di kontrol tetapi jaringan juga harus dapat di kontrol keamanannya. Pengontrolan Integritas lebih sulit Kesatuan basis data yang mengacu pada keabsahan dan kekonsistenan dari data yang disimpan. Kesatuan biasanya di ekspresikan pada batasan, dimana berisi aturan untuk basis data yang tidak boleh diubah. Membuat batasan untuk integrity, umumnya memerlukan pengaksesan ke sejumlah data yang sangat besar untuk mendefinisikan batasan tersebut, namun hal ini tidak termasuk di dalam operasional update itu sendiri. Dalam DDBMS, komunikasi dan biaya 233 Basis Data pemrosesan yang dibutuhkan untuk membuat suatu batasan integrity mungkin tidak diperbolehkan. 4) Teleprocessing Arsitektur Teleprocessing adalah suatu arsitektur tradisional untuk multi-user system, dimana sebuah CPU terhubung dengan beberapa workstation. Pada Arsitektur ini semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk pemakai berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS. Dengan cara yang sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk tampilan di monitor. Beberapa kelebihan arsitektur sistem basis data ini antara lain ialah : 1. Murahnya biaya telekomunikasi sekarang ini memungkinkan terminal terminal untuk saling berhubungan untuk membentuk real time systems. 2. Memungkinkan pengguna bersama–sama menggunakan komputer. 3. Komputer akan membagi waktunya bergantian untuk tiap – tiap pemakai. 4. Dengan time sharing systems sekarang ini sebuah komputer pusat dapat melayani sampai ribuan terminal. 5. Semua data dan program aplikasi tersimpan di hardisk komputer pusat. Sedangkan Kekurangannya adalah : Membutuhkan Komputer Besar atau Mainframe yang harganya sangat mahal. 234 Basis Data 5) File-Server Architecture File Server Architecture adalah merupakan suatu komputer server yang dihubungkan dengan beberapa workstation melalui suatu jaringan (network). Database diletakkan pada file-server. DBMS dan aplikasi dijalankan pada setiap workstation. Meskipun aplikasi dan DBMS dijalankan pada setiap workstation tetapi tetap meminta file dari file server jika diperlukan. Dengan cara ini,file server berfungsi sebagai sebuah hard disk yang digunakan secara bersamaan. Kelebihannya arsitektur file-server ini adalah: 1. Dapat membagi berbagai jenis seperti dokumen, spreadsheet, gambar dan database. 2. File server menyimpan file-file yang dibutuhkan oleh aplikasi dan DBMS. 3. Aplikasi dan DBMS bekerja pada masing-masing workstation, meminta file pada file server ketika dibutuhkan. 4. File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut. Sedangkan Kekurangannya ialah: 1. Terdapat lalulintas jaringan yang besar sehingga mengakibatkan kepadatan jaringan. 2. Masing-masing workstation membutuhkan salinan DBMS. 3. Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan. 4. Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan. 235 Basis Data 6) Client-Server Architecture Untuk mengatasi kelemahan arsitektur file server dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem. Dalam hal ini server menangani database dan DBMS. Sementara itu Client mengatur user interface dan menjalankan aplikasi. Konsep arsitektur client/server mengasumsikan sebuah kerangka dasar (framework) yang terdiri atas banyak PC yang terhubung melalui LAN beserta tipe-tipe jaringan komputer lainnya. Suatu Client adalah mesin user yang menyediakan kemampuan user interface dan local processing. Suatu Server adalah mesin yang menyediakan berbagai service ke mesin client (file access, printing, archiving, or database access). Ada kemungkinan suatu mesin hanya menginstall software client saja, yang lain software server, atau bahkan keduanya pada satu mesin (seperti pada gambar physical client/server sebelumnya). Dua arsitektur DBMS yang mendasari framework client/server: two-tier client/server dan three-tier client/server. Tugas dari komputer Client adalah: 1) Mengatur user Interface. 2) Menerima dan memeriksa syntax input dari user. 3) Membangun (Generates) permintaan DB dan mengirimkannya ke server. 4) Memberikan respon balik ke user. Sedangkan tugas dari komputer server adalah : 1) Menerima & memroses permintaan DB dari client. 2) Memeriksa autorisasi. 3) Menjamin batasan integritas data. 4) Menampilkan queri/proses update dan mengirimkannya ke user. 5) Memelihara System Catalog. 6) Menyediakan kontrol recovery. 7) Menyediakan akses basis data yang akurat. Kelebihan dari sistem arsitektur client-server ini ialah : 236 Basis Data 1. Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis). 2. Database server bertanggung jawab pada penyimpanan, pengaksesan, dan pemrosesan database. 3. Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server. 4. Akses yang lebih luas terhadap database. 5. Meningkatkan performa dan konsistensi. 6. Pengurangan biaya hardware, biaya komunikasi dan beban jaringan Sedangkan kekurangan arsitektus sistem basis data ini ialah: Database server dituntut memiliki kemampuan pemrosesan yang tinggi. 7) Arsitektur two tier client server Pada dasarnya arsitektur two-tier sering disebut sebagai arsitektur client/server, yang terdiri komputer client dan komputer server, yang berinteraksi melalui protokol yang sifatnya well-defined. Dalam arsitektur client/server tradisional, client hanya mengimplementasikan GUI (Graphical User Interface), sedang server hanya mengimplementasikan logika bisnis dan manajemen data. Client tersebut disebut thin client (klien tipis). Pada bentuk lain, terdapat juga client yang lebih powerfull dengan mengimplementasikan GUI dan logika bisnisnya sedang sisanya pada sisi server, yang disebut thick client (klien tebal). 237 Basis Data Model thick client memiliki beberapa kelemahan: 1. Tidak memiliki tempat pusat untuk memperbaharui dan memelihara logika bisnis, karena berjalan pada sisi client. 2. Rasa saling percaya antara client-server (strore procedure pada client), 3. Tidak dapat menangani jumlah client yang besar. 4. Thick client tidak diskalakan seiring dengan pertambahan akses aplikasi dan sistem database. Pada database client/server, saat pengaksesan DBMS dibutuhkan: program membuka koneksi ke DBMS server, sekali koneksi terbuat maka program client dapat berkomunikasi dengan DBMS. Contoh: ODBC (Open Database Connectivity) yang menyediakan API (Application Programming Interface), JDBC, yg digunakan program client Java utk akses ke DBMS.Interaksi antara client dan server selama pemrosesan query SQL adalah sebagai berikut : 1. Client melakukan parsing query pemakai dan memecahnya ke dalam sejumlah query independent untuk setiap tempat. Setiap query tersebut dikirim ke server yang sesuai. 2. Setiap server memproses query lokal dan mengirim relasi hasil ke client. 3. Client mengkombinasikan hasil sub query untuk memproduksi hasil dari query asal yang dikirim. Pada pendekatan tersebut Server SQL: juga disebut transaction server (database processor (DP) / back-end machine / DBMS), sedangkan Client : disebut application processor (AP) atau front-end machine. 8) Arsitektur Three-Tier Client/Server Three Tier Architecture merupakan inovasi dari arsitektur client-server. Pada arsitektur Three-tier ini terdapat application server yang berdiri di antara client dan database server. Contoh dari application server adalah IIS (Internet Information Services), WebSphere, dan sebagainya. Arsitektur ini memisahkan antara logika aplikasi dari manajemen data, yang meliputi: 1. Presentation Tier (Client) Berisi interface natural yang dibutuhkan user untuk membuat request, menyediakan input dan melihat hasil. (GUI) 2. Middle Tier (Application Layer/Web Server) Berisi logika aplikasi untuk dieksekusi, berbagai macam kode program (C++, Java, dll) sebagai proses bisnis logic yang kompleks. (Application Programs, Web Pages). 238 Basis Data 3. Data Management Tier (Database Server) Berisi DBMS. Beberapa keuntungan arsitektur three-tier adalah : 1. Sistem Heterogen Mendukung pada berbagai platform yang berbeda. Sehingga modify code pada suatu tier tidak berdampak pada tier yang lain. 2. Thin Client Membutuhkan kemampuan komputasi yang memadai pada presentation layer (biasanya web browser). 3. Akses Data Terintegrasi. Kemampuan middle tier dalam mengatur koneksi pada semua sistem database yang terlibat secara terpusat. 4. Stabilitas pada Banyak Client , yaitu kemampuan middle tier dalam mengatur hubungan database pada client. 5. Kemudahan dalam Pengembangan Software Masing-masing tier dapat dikembangkan lebih lanjut (debug, test) tanpa mempengaruhi yang lain. Gambar 54. Aarsitektur three-tier client server 9) Arsitektur N-tier atau multi tier. Istilah arsitektur ini muncul karena dalam implementasi aplikasi basis data base dimungkinkan suatu aristektur aplikasi terdiri dari banyak tier . 239 Basis Data Salah satu contoh aplikasi basis datayang menggunakan arsitektur ini ialah situs amazon .com, dimana pelanggan internet dapat memesan buku secara online. Pelanggan dapat melihat katalog buku amazon.com yang sebenarnya ada pada database amazon.com. Jika pelanggan ingin memesan salah satu buku, maka pelanggan tersebut perlu memasukkan informasi mengenai dirinya dan yang terlebih penting adalah data mengenai kartu kreditnya. Untuk dapat memesan buku data kartu kredit pelanggan tersebut harus divalidasi terlebih dahulu: seperti kode PIN, masa berlaku kartu, limit kredit. Setelah dinyatakan valid maka pelanggan dapat melakukan transaksi pemesanan buku. 10) Arsitektur Paralel Sistem manajemen basis data ini menggunakan beberapa prosesor dan disk yang dirancang untuk dijalankan secara paralel. Arsitektur ini digunakan untuk memperbaiki kinerja dari DBMS. Paralel DBMS di jalankan oleh berbagai multi prosesor. Paralel DBMS menghubungkan beberapa mesin yang berukuran kecil untuk menghasilkan keluaran sebuah mesin yang berukuran besar dengan skalabilitas yang lebih besar dan keandalan dari basis datanya. Untuk menopang beberapa prosesor dengan akses yang sama pada satu basis data, DBMS paralel harus menyediakan manajemen sumber daya yang dapat diakses bersama. Sumber daya apa yang dapat digunakan bersama, dan bagaimana sumber daya tersebut diimplementasikan. Hal ini mempunyai efek langsung pada kinerja dan skalabilitas dari sistem dan tergantung dari aplikasi atau lingkungan yang digunakan. Terdapay tiga arsitektur yang digunakan pada paralel DBMS yaitu : a. Penggunaan memory bersama ( share memory ) b. Penggunaan disk bersama ( share disk ) c. Penggunaan secara sendiri-sendiri (share nothing) Arsitektur Penggunaan Memori Bersama ( Share Memory ) adalah sebuah arsitektur yang menghubungkan beberapa prosesor di dalam sistem tunggal yang menggunakan memori secara bersama – sama. Arsitektur ini dikenal 240 Basis Data 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 ini menghasilkan pengaksesan data yang sangat cepat yang dibatasi oleh beberapa prosesor, tetapi tidak dapat digunakan untuk 64 prosesor dimana jaringan komunikasi menjadi masalah ( terjadinya bottleneck). Gambar dibawah ini menjelaskan arsitektur paralel dengan penggunaan memory bersama Arsitektir Penggunaan Disk Bersama ( Share Disk ) adalah sebuah 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 memori 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. Gambar dibawah ini menjelaskan arsitektur paralel dengan penggunaan disk bersama. Next >