Head-to-Head berbagai arsitektur basis data
Database atau dalam bahasa Indonesia berarti Basis data merupakan kumpulan data-data yang saling berhubungan, kumpulan data yang saling berelasi. Pada waktu yang lalu aplikasi database dibangun diatas sistem file, dimana pembangunan tersebut menyebabkan beberapa hal diantaranya sulit dalam mengakses data, pengisolasian data, dan masalah keterpaduan (integritas).
Setelah ditemukannya sistem basis data, ia dianggap mampu mengatasi masalah-masalah yang diakibatkan sistem file. Namun dalam pengembangannya, muncul cara pandang data (Arsitektur) dalam basis data yang berbeda-beda.
Mengapa bisa tercipta arsitektur yang berbeda-beda? Berikut dapat kita lihat bagaimanakah perbandingan antar arsitektur tersebut, baik dari sisi deskripsi, kelebihan, dan kekurangan.
1. Teleprocessing
Arsitektur teleprocessing merupakan arsitektur dimana lokasi perangkat input/output berada di tempat yang berbeda dan memiliki jarak yang jauh dengan CPU pusat database.
Kelebihan dari arsitektur teleprocessing :
- time share system : pembagian waktu dalam melayani perintah secara bergantian dari setiap terminal.
Kelemahan dari arsitektur teleprocessing :
- beban yang ditangani CPU besar, sehingga bila ada terjadi gangguan atau kesalahan pada CPU maka berdampak ke semua terminal.
2. File-Server Architecture
Arsitektur ini dihubungkan ke beberapa workstation dalam jaringan. DBMS dan aplikasi berjalan pada setiap workstation.File server akan mengatur file yang diperlukan oleh DBMS dan aplikasi, namun tidak melakukan komputasi dan tidak mengatur program yang akan atau sedang dijalankan oleh workstation
Kelebihan :
- File server berfungsi sebagai sebuah harddisk yang digunakan secara bersamaan.
Kelemahan dari arsitektur ini :
- Netwok traffic yang besar
- DBMS disalin di setiap workstation
- Kompleksnya pengendalian dalam konkruensi (persetujuan), recovery (pemulihan) dan integritas (keterpaduan).
3. Client-Server Architecture
Client server memberikan layanan kepada n client, yang mempunyai struktur umum seperti gambar dibawah ini :
Arsitektur jenis ini membagi software DBMS nya menjadi dua level, yakni server dan client. Berikut penjelasan dari keduanya :
Client :
- memiliki antar muka (interface) untuk user
- menyediakan format perintah dengan bahasa yang telah dikenal
- mengkomunikasikan perintah dengan server
- menganalisis data hasil umpan balik dari server
- menampilkan hasil umpan balik ke user
Server :
- menyediakan layanan (service) kepada client (dapat lebih dari satu client)
- hanya merespon perintah dari client, tidak memulai komunikasi dengan client.
Berikut kelebihan dan kelemahan dari arsitektur client-server :
Kelebihan :
- Efesiensi jumlah pekerjaan
- harga dan performa yang lebih baik pada mesin client
- kemampuan untuk memaksimalkan penggunaan tool yang userfiendly pada client
Kelemahan :
- server dapat membentuk bottleneck
- server dapat membentuk sebuah titik kegagalan tunggal
- munculnya kesulitan dalam pengukuran database
4.Three Tier Architecture
Arsitektur ini memiliki 3 layer yakni :
- Data management layer : mengendalikan skema database dan data
- Application layer : mengenalikan program yang berwujud aplikasi logic
- UI (User interface) layer : manajemen form dan report yang disampaikan kepada user.
Arsitektur three-tier merupakan pengembangan dari arsitektur client-server.
Kelebihan dari three tier architercture :
- Scalability : memberikan skala yang sama untuk tiap tingkatan (contoh : server)
- Performance : kinerja lebih baik karena adanya minimalisasi penggunaan jaringan, dan beban yang berkurang pada layer aplikasi
- Availability : jika server down namun cache cukup, ia dapat memprosespermintaan menggunakan cache.
- Perubahan cukup dilakukan pada layanan bisnis daripada aplikasi
Kelemahan dari three tier architecture :
- Meningkatnya kebutuhan dalam jaringan traffic, keseimbangan server, dan toleransi kesalahan.
- Belum memadai untuk perawatan perbaikan server.
- Struktur yang kompleks
setelah melihat dari definisi, kelemahan dan kelebihan dari tiap-tiap jenis arsitektur diatas, menurut penulis, arsitektur yang paling baik digunakan adalah arsitektur three-tier. ia memiliki karakteristik yang lebih kompetitif bila di lihat dari perkembangan dunia network. ia cepat diterima dalam skala bisnis, karena hanya perlu mengubah modul daripada aplikasi.