Arsitektur DBMS Multi UserSejarah DBMS
Generasi pertama DBMS didesain oleh Charles Bachman di perusahaan
General Electric pada awal tahun 1960, disebut sebagai Penyimpanan Data
Terintegrasi (Integrated Data Store). Dibentuk dasar untuk model data
jaringan yang kemudian distandardisasi oleh Conference on Data System
Languages (CODASYL). Bachman kemudian menerima ACM Turing Award
(Penghargaan semacam Nobel pada ilmu komputer) di tahun 1973. Dan pada
akhir 1960, IBM mengembangkan sistem manajemen informasi (Information
Management System) DBMS. IMS dibentuk dari representasi data pada
kerangka kerja yang disebut dengan model data hirarki.
Dalam waktu yang sama, dikembangkan sistem SABRE sebagai hasil
kerjasama antara IBM dengan perusahaan penerbangan Amerika. Sistem ini
memungkinkan user untuk mengakses data yang sama pada jaringan
komputer. Kemudian pada tahun 1970, Edgar Codd, di Laboratorium
Penelitian di st=”on”San Jose, mengusulkan model data relasional. Di
tahun 1980, model relasional menjadi paradigma DBMS yang paling
dominan. Bahasa query SQL dikembangkan untuk basis data relasional
sebagai bagian dari proyek Sistem R dari IBM. SQL distandardisasi di
akhir tahun 1980, dan SQL-92 diadopsi oleh American National Standards
Institute (ANSI) dan International Standards Organization (ISO).
Program yang digunakan untuk eksekusi bersamaan dalam basis data
disebut transaksi. Usermenulis programnya, dan bertanggung jawab untuk
menjalankan program tersebut secara bersamaan terhadap DBMS. Pada tahun
1999, James Gray memenangkan Turing Award untuk kontribusinya pada
manajemen transaksi dalam DBMS.
Pada akhir tahun 1980 dan permulaan 1990, banyak bidang system basis
data yang dikembangkan. Penelitian pada bidang basis data meliputi
bahasa query yang powerful, model data yang lengkap, dan penekanan pada
dukungan analisis data yang kompleks dari semua bagian organisasi.
Beberapa vendor memperluas sistemnya dengan kemampuan penyimpanan tipe
data baru semisal image dan text, dan kemampuan query yang kompleks.
Sistem khusus/spesial dikembangkan oleh banyak vendor untuk membuat
data warehouse, mengkonsolidasi data dari beberapa basis data. Fenomena
yang paling menarik adalah adanya enterprise resource planning (ERP)
dan management resource planning (MRP), yang menambahkan substansial
layer dari fitur berorientasi pada aplikasi. Paket yang termasuk
didalamnya meliputi Baan, Oracle, PeopleSoft, SAP, dan Siebel.
Paket-paket ini mengidentifikasi himpunan tugas secara umum (misal
manajemen inventori, perencanaan sumber daya manusia, analisis
finansial) dan menyediakan aplikasi layer secara umum untuk menangani
keperluan tersebut. Data disimpan dalam DBMS relasional, dan aplikasi
layer dapat disesuaikan untuk perusahaan yang berbeda. Lebih jauh lagi,
DBMS memasuki dunia internet. Pada saat generasi pertama dari Web site
menyimpan datanya secara eksklusif dalam file system operasi, maka saat
ini DBMS dapat digunakan untuk menyimpan data yang dapat diakses
melalui Web browser. Query dapat digenerate melalui form Web, dan
format jawabannya menggunakan markup language semisal HTML untuk
mempermudah tampilan pada browser.
Semua vendor basis data menambahkan fitur ini untuk DMS mereka.
Manajemen basis data mempertimbangkan pentingnya suatu data bersifat
on-line, dan dapat diakses melalui jaringan komputer. Saat sekarang
bidang seperti ini diwujudkan dalam basis data
multimedia, video interaktif, perpustakaan digital,proyek ilmuwan seperti proyek
pemetaan, proyek sistem observasi bumi milik NASA, dll.
Pengertian DBMS
Sebelum kita lebih jauh membahas tentang masalaha arsitektur DBMS
Multi User, ada baiknya kita mengenal terlebih dahulu apa itu DBMS.
Banyak sekali pengertian tentang DBMS ini, salah satunya yang saya
temukan di situs
http://v-lab.gunadarma.ac.id/?page=materi&id=14&p=1 disini
dikatakan bahwa DBMS (Database Management System) adalah kumpulan
perangkat lunak yang digunakan untuk menangani semua pengaksesan ke
database. Mempunyai fasilitas membuat, mengakses, memanipulasi, dan
memelihara database. Bertujuan untuk efisiensi dan kenyamanan dalam
memperoleh & menyimpan informasi dalam database.
Dan menurut sumber yang lainnya yang terdapat pada Blog
http://djoko-queer.blogspot.com/2008/12/pengertian-dbms.html,pengertian DBMS adalah perangkat lunak yang didesain untuk membantu
dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar.
DBMS dapat menjadi alternative penggunaan secara khusus untuk aplikasi,
semisal penyimpanan data dalam field dan menulis kode aplikasi yang
spesifik untuk pengaturannya.
Jadi kesimpulan saya mengenai pengertian DBMS adalah sebuah
perangkat lunak yang digunakan untuk untuk memanage atau mengorganisir
akses ke database, serta memiliki kemampuan untuk membuat, memelihara,
menyimpan, memanipulasi database dengan tujuan agar mendapatkan
kenyamanan dalam memperoleh informasi dalam database tanpa mengurangi
faktor keamanan dan keefesiensinya.
Fungsi-fungsi DBMS
1.Data Definition
Harus mampu mengolah pendefinisian data.
2.Data Manipulation
Harus dapat menangani permintaan user untuk pengaksesan data.
3.Data Security dan Integrity
Harus menjaga keamana dan integritas yang telah didefinisikan oleh DBA
4.Data Recovery dan Concurrency
Haruslah memiliki kemampuan untuk mengatasi kerusakan-kerusakan yang disebabkan oleh system, kerusakan disk dan lain sebagainya.
5.Data Dictionary
haruslah menyediakan data dictionary
6.Performance
harus mampu menagani kerja dari semuanya kerja dari setiap fungsi yang ada
ok setelah kita mengtahui sejarah, pengertian, dan fungsi-fungsi
dari DBMS, sekarang kita akan memahami, bagaimana Arsitektur DBMS.
DBMS sendiri digolongkan menjadi 2 bagian menurut penggunanya
1.DBMS Single User
2.DBMS Multi User
dalam tulisan saya ini, saya tidak akan membahas lebih jauh tentang DBMS Singel User, mungkin hanya sekilas saja.
1.DBMS Singel User.
DBMS ini berdiri sendiri, tanpa adanya link atau integritas terhadap database yang lain.
2.DBMS Multi User
DBMS yang bersifat client/server, dimana sang client bisa mengakses
kedalam datbase yang sudah diset oleh sang admin ke dalam server dengan
privillage tertentu, disni faktor keamanan tetap diperhatikan demi
menjaga kerasahasian data tersebut.
ARSITEKTUR CLIENT-SERVER
Saat ini arsitektur client-server yang banyak digunakan dalam
industri disebut two-tier architecture. Pada arsitektur ini, server
mengirim data dan client mengakses data. Server memainkan peranan yang
dominan pada arsitektur ini. Keuntungan sistem ini adalah kesederhanaan
dan kompatibilitas dengan sistem yang legal.
Arsitektur client-server yang dikembangkan kemudian adalah three-tier
architecture. Pada model ini, layer direpresentasikan sebagai host, server dan client.
Server memainkan peranan sebagai penengah dengan mengirim aturan bisnis (prosedur
atau constraint) yang digunakan untuk mengakses data dari host. Client berisi antar
muka GUI dan beberapa aplikasi tambahan mengenai aturan bisnis. Kemudian server
bertindak sebagai conduit of passing memproses data dari host ke client dimana
kemudian diproses atau difilter dan dipresentasikan ke pemakai dalam format GUI.
Antar muka pemakai, aturan dan pengaksesan data bertindak sebagai three tiers. Cient
biasanya dihubungkan ke server melalui LAN dan server dihubungkan ke host melalui
WAN. Client melakukan remote yang dihubungkan ke server melalui WAN juga.
Sistem ini sangat cocok untuk perusahaan besar dimana basis data terpusat dapat
disimpan dalam host dan biaya pembangunan LAN dan WAN dapat diatur dan
dioptimasi menggunakan teknologi yang baru untuk setiap bagian yang berbeda dalam
organisasi.
PENGAKSESAN QUERY PADA BASIS DATA CLIENT-SERVER
Bagaimana membagi fungsi DBMS antara client dan server tidak ada ketentuan.
Sehingga banyak pendekatan yang berbeda ditawarkan.
Satu kemungkinan adalah
memasukkan fungsi dari DBMS terpusat pada level server. Sejumlah DBMS relasional
menggunakan pendekatan ini, dimana SQL server disediakan untuk client. Setiap client
harus menggunakan query SQL yang tepat dan menyediakan antar muka pemakai dan
fungsi antar muka untuk bahasa pemrograman. Karena SQL adalah bahasa standard
relasional, berbagai SQL server, meskipun disediakan oleh vendor yang berbeda, dapat
menerima perintah SQL. Client juga merujuk pada data dictionary yang didalamnya
terdapat informasi pada data distribusi diantara server SQL yang berbeda, sebagai
modul untuk dekomposisi query global ke dalam sejumlah query local yang dapat
dieksekusi pada berbagai tempat. Interaksi antara client dan serber 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 terseut dikirim ke server
yang sesuai.
2. Setiap server memproses query lokal dan mengirim relasi hasil ke client.
3. Client mengkombinasikan hasil sub query untuk mempruksi hasi dari query asal
yang dikirim.
Pada pendekatan ini, server SQL juga disebut transaction server (atau database
processor (DP) atau back-end machine), sedangkan client disebut application processor
(AP) atau front-end machine. Interaksi antara client dan server ditentukan oleh pemakai
pada level client atau melalui modul khusu pada DBMS client yang merupakan bagian
dari paket DBMS. Sebagai contoh, pemakai mengetahui apa data yang dikirim setiap
server, membagi permintaan query ke sub query secara manual adan mengirimkan sub
query secara individu ke tempat yang berbeda. Tabel hasil dikombinasikan secara
eksplisit dengan query user pada level client. Alternatif lain adalah mempunyai modul
client yang melakukan kegiatan diatas secara otomatis.
Dalam DDBMS yang banyak digunakan, model perangkat lunak dibagi ke
dalam tiga level :
1. Perangkat lunak server bertanggung jawab pada manajemen data lokal,
kebanyakan sama dengan perangkat lunak DBMS
2. Perangkat lunak client bertanggung jawab untuk fungsi distribusi; mengakses
informasi distribusi data dari katalog DDBMS dan memproses semua
permintaan yang membutuhkan akses ke lebih dari satu tempat. Hal ini juga
ditangani semua antar muka user.
3. Perangkat lunak komunikasi (biasanya dihubungkan dengan sistem operasi
terdistribusi) menyediakan primitif komunikasi yang digunakanoleh client untuk
mengirim perintah dan data ke tempat yang berbeda sesuai kebutuhan. Hal ini
bukan bagian yang terpenting dalam DDBMS, tetapi menyediakan primitf
komunikasi dan pelayanan yang esensial.
Client bertanggung jawab untuk membangkitkan eksekusi terdistribusi untuk
beberapa tempat server suatu query atau transaksi dan untuk melakukan supervisi
eksekusi terdistribusi dengan mengirim perintah ke server. Perintah ini termasuk query
lokal dan transaksi yang dieksekusi selain perintah untuk mengirim data ke client atau
server lain.
Fungsi lain dikontrol oleh client (atau koordinator) adalah menjamin
konsistensi dari copy replika dari item data dengan teknik concurrency control
terdistribusi (global).
Client harus menjamin transaksi global atomik dengan
membentuk global recovery jika tempat yang dimaksud gagal.
mungkin dari client adalah menyembunyikan detail distribusi data dari pemakai, yang
memungkinkan pemakai menulis query global dan transaksi seperti basis data yang
terpusat, tanpa harus menentukan tempat dimana data dirujuk dalam query atau
transaksi berada. Properti ini disebut distribution transparency. Beberapa DDBMS
tidak melakukan distribution tranparency, sehingga pemakai harus berhati-hati terhadap
distribusi data secara detail.
Beberapa Contoh DBMS beserta vendornya
Informix, vendor : IBM
DB2, vendor : IBM
Ms. Access, vendor : Microsoft Corporation
Ingres, vendor : Computers Associate
Oracle, vendor : Oracle Corporation
Postegre SQL, vendor :
www.postgresql.comSybase, vendor : Sybase Inc
MySQL, vendor : MySQL Company
Referensi:
http://djoko-queer.blogspot.com/2008/12/fungsi-dbms.htmlhttp://v-lab.gunadarma.ac.id/?page=materi&id=14&p=1http://webdosen.bl.ac.id/dosen/050023/materi/pw2_pertemuan11.pdfhttp://www.gealgeol.com/2009/02/19/pengelompokkan-dbms-(data-base-management-system).html