Terdapat tiga pendekatan alternatif untuk membagi fungsi pada proses DBMS
yang berbeda. Dua arsitektur alternatif DBMS terdistribusi adalah Client/Server dan
Collaboration Server.
1. Client-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 . 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. Arsitektur
ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi
yang relatif sederhana karena pembagian fungis yang baik dank arena
server tersentralisasi. Kedua, mesin server yang mahal utilisasinya
tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak
mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis
sehingga pemakai lebih mudah dibandingkan antar muka pada server yang
tidak user-friendly.
2.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 .
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.
Strategi Desain Alternatif
Terdapat dua strategi utama dalam mendesain database terdistribusi
yaitu pendekatan top-down dan pendekatan bottom-up, namun pendekatan
bottom up baru dapat dilakukan jika sudah ada database yang tersebar di
beberapa lokasi.
Dalam “Distrubution Design” dilakukan desain untuk mendistribusikan
relasi ke semua lokasi dalam sistem terdistribusi. Kelemahan
mendistribusikan sebuah relasi adalah harus menangani data yang besar,
maka relasi dipecah-pecah menjadi sub relasi yang disebut fragmen.
Desain untuk sistem terdistribusi dapat melalui langkah fragmentasi,
penempatan data atau alokasi dan replikasi.
Distribusi data dengan cara fragmentasi, alokasi dan replikasi mempunyai tujuan :
1. Referensi lokalitas. Data harus diletakkan sedekat mungkin
dengan lokasi pengakses data. Jika fragmen data digunakan pada beberapa
lokasi maka akan lebih menguntungkan jika fragmen disimpan pada
lokasi-lokasi tersebut.
2. Meningkatkan reliabitilas/kehandalan dan
availabilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi :
yaitu terdapat salinan data di lokasi lain jika salah satu lokasi
mengalami kegagalan data.
3. Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan
akan menghasilkan kemacetan, yaitu misalkan sebuah lokasi kebanjiran
permintaan data sehingga menurunkan unjuk kerja.
4. Keseimbangan kapasitas penyimpanan dan biaya. Meskipun harus
menjamin ketersediaan data, dan mempertimbangkan referensi lokalitas
tetapi harus dipertimbangkan juga kapasitas penyimpanan yang tidak besar
sehingga menjamin biaya penyimpanan lebih murah.
Biaya komunikasi minimal. Harus dipertimbangkan biaya komunikasi anta
lokasi penyimpanan. Biaya pengambilan data minimal jika lokalitas
maksimum (fragmen data ada di banyak lokasi). Tetapi jika terjadi
update, maka harus dilakukan terhadap data di semua lokasi salinan
fragmen data, sehingga biaya akan membengkak.
Fragmentasi
Alasan yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data untuk didistribusikan yaitu :
1. Penggunaan. Dalam kenyataan, data yang sering digunakan
bukanlah data dalam seluruh tabel, tetapi hanyalah sebagian data atau
sering disebut view
2. Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna
yang sering mengakses sehingga data yang tidak sering dibutuhkan oleh
lokasi tertentu tidak akan disimpan di lokasi yang bersangkutan
3. Paralel. Karena data yang didistribusikan berupa fragmen data,
maka transaksi yang berupa query tunggal dapat dipecah menjadi subquery
yang dikenakan terhadap fragmen data, sehingga transaksi dapat dilakukan
secara bersamaan (concurrent).
4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak
akan disimpan dalam lokasi tersebut, sehingga user yang tidak memiliki
hak untuk mengakses tidak akan bisa mengakses data lain.
Fragmentasi juga memiliki beberapa kelemahan yaitu :
1. Menurunnya unjuk kerja. View yang melibatkan lebih dari satu
fragmen data pada lokasi yang berbeda akan mengalami penurunan unjuk
kerja
2. Integritas. Pengendalian integritas lebih sulit jika atribut yang
berperan dalam dependency didistribusikan ke beberapa lokasi.
Terdapat dua fragmentasi data yaitu :
Fragmentasi Horizontal
Terdapat syarat informasi untuk fragmentasi horizontal, yaitu :
Application Information Informasi kualitatif dari aplikasi paling
mendasar adalah predicate yang digunakan dalam query. Dari predicate
dapat dibentuk :
Fragmentasi Vertikal
Fragmentasi vertical dari tabel R adalah proses untuk mendapatkan
fragmen R1, R2, …, Rn sedemikian rupa sehingga setiap fragmen memuat
himpunan bagian dari atribut-atribut R dan kunci primer. Fragmentasi ini
lebih sulit dibandingkan dengan fragmentasi horizontal, karena lebih
banyak alternative hasil yang dimuat.
Tujuan utama fragmentasi vertical adalah membagi sebuah tabel ke
dalam tabel-tabel yang lebih kecil sedemikian rupa sehingga user
aplikasi hanya berjalan dalam satu tabel. Dengan demikian akan
meminimalkan waktu eksekusi aplikasi yang berjalan dalam fragmen-fragmen
tersebut.
Terdapat dua pendekatan, yaitu :
1. Pendekatan kelompok (Grouping)
Dimulai dengan menempatkan setiap atribut ke dalam sebuah fragmen.
Kemudian setahap demi setahap dilakukan terhadap fragmen yang lain
sampai kriteria yang diinginkan terpenuhi.
2. Pendekatan pemecahan (Splitting)
Dimulai dengan sebuah tabel kemudian proses pembagiannya dilakukan berdasarkan pada pola akses aplikasi terhadap setiap atribut.
Dengan alasan kemudahan untuk menjalankan dependensi fungsional
sehingga menjamin keutuhan dalam koreksi data, maka pendekatan yang akan
dipakai adalah pendekatan Splitting.
BlogkuDuniaku
Sabtu, 28 September 2013
Database distibusi
Database terdistribusi Yaitu kumpulan data yang digunakan bersama
yang saling terhubung secara logic tetapi tersebar secara fisik pada
suatu jaringan computer.
Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem terdistribusi berhubungan satu sama lain melalui bermacam-macam media komunikasi seperti high-speed buses atau telephone line.
Sebuah sistem database terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau beberapa site. Tiap-tiap site dapat
memproses transaksi lokal yaitu sebuah transaksi yang mengakses data pada satu site di mana transaksi telah ditentukan.
Sebuah site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di mana transaksi telah ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.
Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem terdistribusi berhubungan satu sama lain melalui bermacam-macam media komunikasi seperti high-speed buses atau telephone line.
Sebuah sistem database terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau beberapa site. Tiap-tiap site dapat
memproses transaksi lokal yaitu sebuah transaksi yang mengakses data pada satu site di mana transaksi telah ditentukan.
Sebuah site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di mana transaksi telah ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.
Basis data (database) adalah
Representasi kumpulan fakta yang saling berhubungan disimpan secara
bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak
perlu, untuk memenuhi berbagai kebutuhan. Data perlu disimpan dalam
basis data untuk keperluan penyediaan informasi lebih lanjut. Data di
dalam basis data perlu diorganisasikan sedemikian rupa, supaya informasi
yang dihasilkan berkualitas. Organisasi basis data yang baik juga
berguna untuk efisiensi kapasitas penyimpanannya. Dalam maksud yang
sama, bisa juga diartikan sebagai sekumpulan informasi yang disusun
sedemikian rupa untuk dapat diakses oleh sebuah software tertentu.
Database tersusun atas bagian yang disebut field dan record yang tersimpan dalam sebuah file. Sebuah field merupakan kesatuan terkecil dari informasi dalam sebuah database. Sekumpulan field yang saling berkaitan akan membentuk record.
Tiga faktor utama yang membentuk suatu database adalah sebagai berikut.
- field di dalam database diartikan sebagai identitas spesifik dari sebuah objek. Misal objeknya mobil, field warnanya biru, field bahan bakar solar, dst
- record secara umum artinya merekam, atau rekaman. Di dalam database disebut juga sebagai kumpulan identitas dari satu object. Kumpulan dari beberapa field tentang satu objek. Misalnya database tentang mobil, masing-masing mobil memiliki satu record yang datanya disimpan di dalam berbagai field.
- file adalah arsip yang disimpan dalam suatu media, yang terdiri dari kumpulan karakter, dan didokumentasikan dalam bentuk data digital oleh komputer.
Adapun Struktur Database
adalah: Database File/TableRecord Elemen data/Field dari pengertian
diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria
penting, yaitu:
- Bersifat data oriented dan bukan program oriented.
- Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
- Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
- Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
- Dapat digunakan dengan cara-cara yang berbeda.
Hubunga logis file dapat
diperoleh dengan hubungan eksplisit dan implisit. Hubungan eksplisit,
antara record dari beberapa file dengan menyusun record-record tersebut
dalam suatu hirarkhis, yang disebut struktur hirarkhis adalah dimana
setiap catan pada suatu tingkat dapat dihubungkan ke berbagai record
setingkat lebih rendah.Meskipun struktur hirarkhis mempunyai kemampuan
luar biasa dalam mengatasi kendala-kendala fisik, namun penggunaan
hubungan eksplisit tersebut masih mempunyai kelemahan. Hubungan
implisit, hubungan antar record yang tidak harus dinyatakan secara
eksplisit, link field khusus tidak perlu disertakan dalam record.
Pendekatan ini disebut dengan struktur relasional dan menggunakan
hubungan implisit, yaitu hubungan yang dapat dinyatakan secara tidak
langsung dari record data yang telah ada.
Keuntungan dari steruktur relasional bagi CBIS (computer based information system), sistem informasi berbasis kamputer) adalah fleksibilitas yang ditawarkannya dalam rancangan dan penggunaan database.
Pengguna dan spesialis informasi
dibebaskan dari keharusan mengidentifikasi semua informasi yang
diperlukan sebelum menciptakan database, dan prinsip utama database
adalah pengaturan data dengan tujuan utama fleksibelitas dan kecepatan
pada saat pengambilan data kembali.
Adapun ciri-ciri basis data diantaranya adalah sebagai berikut :
- Efisiensi meliputi kecepatan, ukuran, dan ketepatan
- Data dalam jumlah besar.
- Berbagi Pakai (dipakai bersama sama/Sharebility).
- Mengurangi bahkan menghilangkan terjadinya duplikasi dan inkonsisten data.
Pengertian dari database terdistribusi adalah, Semua perusahaan atau organisasi yang menggunakan Relation Database Management System
(RDBMS) biasanya mempunyai database yang banyak atau tidak hanya satu.
Oleh karena itu kenapa mereka biasanya menggunakan konsep sistem
terdistribusi dalam implementasinya.
Ada beberapa faktor penyebabnya antara lain:
- Perbedaan database biasanya didasarkan pada fungsionalitas dari database itu sendiri, misalkan untuk bagian keuangan, pemasaran ataupun sumberdaya manusia.
- Perbedaan database juga biasanya didasarkan pada letak geografis yang ada, semisal untuk dalam satu kota.
- Perbedaan database juga biasanya didasarkan pada bagaimana cara mengaksesnya misalkan untuk database transaksi atau untuk penggudangan data (data warehouse).
- Database pada internet Commerce biasanya diduplikasi sebagai cadangan dengan skala kemampuan yang sama.
- Database juga dibedakan untuk sistem yang sedang berjalan ataupun untuk yang sedang dikembangkan.
Untuk mengakomodasi kebutuhan
itu maka oracle membentuk suatu skema yang memungkinkan semuanya bisa
terjadi dengan konsep sistem terdisribusi. Selain struktur database juga
mempunyai konsep atau rancangan yang biasa di sebut dengan konsep
database diantaranya adalah konsep terdistribusi.
Konsep database terdistribusi
adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan
dan disimpan dengan suatu cara yang memudahkan pengambilan kembali.
Integrasi logis dari record-record dalam banyak file ini disebut konsep
database yang bertujuan untuk meminimumkan pengulangan data (duplikasi
data artinya data yang sama disimpan dalam beberapa file) dan mencapai
independensi data (kemampuan untuk membuat perubahan dalam struktur data
tanpa membuat perubahan pada program yang memproses data).
Independensi data diperoleh
dengan menempatkan spesifikasi data dalam tabel data dan kamus yang
terpisah secara fisik dari program. Program mengacu pada tabel untuk
mengakses data.
Hirarkhi data dalam konsep
system database yaitu Database, File, Record, dan Elemen Data. Teknologi
sistem database terdistribusi dimana kuncinya adalah integrasi, bukan
sentralisasi, serta teknologi ini mencoba untuk mencapai integrasi tanpa
sentralisasi.
Database terdistribusi berbeda
dengan database terdesentralisasi, dimana database terdistribusi
merupakan suatu database tunggal logik yang secara fisik disebarkan
kepada komputer-komputer pada banyak lokasi yang kemudian saling
dikoneksikan oleh link data komunikasi. Sedangkan database
terdesentralisasi merupakan koleksi database independen pada komputer
yang tidak terhubung dalam suatu jaringan. Suatu sistem database
terdistribusi terdiri atas situs-situs yang saling berpasangan yang
tidak saling membagi komponen fisik. Sistem database akan berjalan pada
situs yang independen.
Dalam menyusun suatu data terdistribusi perlu diperhatikan hal-hal sebagai berikut :
- Replikasi data, data-data harus tetap up-to-date tanpa kompromisasi pada performansi
- Akses yang terjadi secara bersamaan, harus menghindari terjadinya kesalahan pada data
- Masalah keamanan
- Masalah reliabilitas.
Sistem database
terdistribusi pada Oracle mengijinkan aplikasi-aplikasi untuk mengakses
data dari database yang lokal maupun jauh. Dalam sebuah sistem database
terdistribusi homogen setiap database merupakan Oracle Database, sedangkan pada sistem database terdistribusi heterogeneous paling sedikit satu diantara sekumpulan database bukan merupakan Oracle Database. Distribusi basis data menggunakan arsitektur client/server untuk memproses permintaan informasi.
Tahap-tahap atau faktor
terciptanya database adalah sebagai barikut, dari pengertiannya database
sendiri database dapat diartikan sebagai sekumpulan data atau fakta
yang saling berhubungan dan di susun menjadi satu kesatuan dan disimpan
secara bersamaan. Proses terciptanya suatu database terjadi dari
beberapa tahap yaitu, menentukan kebutuhan data, menjelaskan data, dan
memasukkan data ke dalam database.
- Menentukan kebutuhan data.
Mendefenisikan kebutuhan data adalah langkah kunci dalam CBIS (computer based information system, sistem informasi berbasis kamputer). Ada dua pendekatan dalam tahap ini yaitu pendekatan berorientasi proses dengan cara mengikuti langkah-langkah yang telah ditetapkan yaitu mendefinisikan masalah, menetapkan data untuk diproses sebagai informasi, kemudian mendefinisikan informasi yang diperlukan selanjutnya memproses dan mengolah informasi, selanjutnya proses terakhir adalah mengambil keputusan dalam pemecahan masalah. Yang kedua adalah pendekatan model perusahaan. Pendekatan ini untuk mengatasi kelemahan pendekatan yang pertama (sukar mengaitkan data suatu sistem ke data sistem lain). Oleh karenanya diatasi dengan menentukan seluruh kebutuhan data perusahaan dan kemudian menyimpan data tersebut dalam database. - Menjelaskan data.
Setelah elemen-elemen data yang diperlukan ditentukan, maka elemen data tersebut dijelaskan dalam bentuk kamus data (data dictionary). Kamus data adalah suatu ensiklopedi dari informasi yang berkenaan dengan data organisasi/perusahaan, dan penjelasan ini dikomunikasikan kepada komputer melalui data description laguage - DDL, yang menghasilkan skema. Subskema mencerminkan kebutuhan para pemakai individual. - Memasukkan data.
Setelah skema dan subskema diciptakan data dapat dimasukkan kedalam database. Hal ini dapat dilakukan dengan memasukkan data langsung ke dalam DBMS (database management system), membaca data dari pita atau piringan atau melakukan scan data secara optis. Data siap untuk digunakan setelah berada dalam database.
Setelah tahap penciptaan selesai
dan database telah terbentuk maka database tersebut akan digunakan atau
dipakai. Pengguna atau pemakai database dapat berupa orang atau program
aplikasi. Orang biasanya menggunakan database dari terminal
dan mengambil data dan informasi dengan menggunakan query language.
Istilah query adalah permintaan informasi dari database, dan arti dari
query language adalah bahasa khusus yang user friendly yang memungkinkan
komputer menjawab query atau permintaan informasi atau datatersebut.
Permintaan-permintaan tersebut akan di eksekusi atau di jalankan oleh
database dengan proses sebagai berikut.
- Data Manipulation Language (DML) menentukan DBMS (database management system) data apa yang diperlukan.
- DBMS memeriksa skema dan subskema untuk menguji bahwa data ada dalam database.
- DBMS meneruskan permintaan data ke sistem operasi.
- DBMS mengambil data dan memasukkannya ke dalam area penyimpanan buffer khusus dalam penyimpanan primer.
- Data tersebut ditransfer ke dalam area input program aplikasi.
- DBMS mengembalikan pengendalian ke program aplikasi.
- Program aplikasi menggunakan data.
Langganan:
Postingan (Atom)